# IGNITE-187 Moved node attrs to manager start().

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a9db3972
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a9db3972
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a9db3972

Branch: refs/heads/ignite-release-test-no-mod
Commit: a9db397293e7cddaea0e9ef224fa77fca2b263e7
Parents: 651b252
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Fri Feb 27 21:56:54 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Fri Feb 27 21:56:54 2015 +0700

----------------------------------------------------------------------
 .../ignite/internal/GridKernalContext.java      |  7 ---
 .../ignite/internal/GridKernalContextImpl.java  |  6 --
 .../apache/ignite/internal/IgniteKernal.java    | 25 +++-----
 .../ignite/internal/managers/GridManager.java   | 10 +--
 .../internal/managers/GridManagerAdapter.java   | 64 ++++++++++----------
 .../checkpoint/GridCheckpointManager.java       |  2 +
 .../collision/GridCollisionManager.java         |  2 +
 .../managers/communication/GridIoManager.java   |  2 +
 .../deployment/GridDeploymentManager.java       |  2 +
 .../discovery/GridDiscoveryManager.java         | 28 ++++-----
 .../eventstorage/GridEventStorageManager.java   |  2 +
 .../managers/failover/GridFailoverManager.java  |  2 +
 .../managers/indexing/GridIndexingManager.java  |  2 +
 .../loadbalancer/GridLoadBalancerManager.java   |  2 +
 .../swapspace/GridSwapSpaceManager.java         |  2 +
 15 files changed, 73 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index 1538401..16e1189 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@ -535,13 +535,6 @@ public interface GridKernalContext extends 
Iterable<GridComponent> {
     public Object addNodeAttribute(String key, Object val);
 
     /**
-     * Add attributes to node attributes.
-     *
-     * @param attrs Attributes to add.
-     */
-    public void addNodeAttributes(Map<String, String> attrs);
-
-    /**
      * @return Node attributes.
      */
     public Map<String, Object> nodeAttributes();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index d3291bd..da082b6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -866,18 +866,12 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
         return attrs.containsKey(key);
     }
 
-
     /** {@inheritDoc} */
     @Override public Object addNodeAttribute(String key, Object val) {
         return attrs.put(key, val);
     }
 
     /** {@inheritDoc} */
-    @Override public void addNodeAttributes(Map<String, String> attrs) {
-        this.attrs.putAll(attrs);
-    }
-
-    /** {@inheritDoc} */
     @Override public Map<String, Object> nodeAttributes() {
         return attrs;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 23c7bf2..9569793 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1103,12 +1103,13 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 
         try {
             // Stick all environment settings into node attributes.
-            ctx.addNodeAttributes(F.view(System.getenv(), new P1<String>() {
-                @Override public boolean apply(String name) {
-                    return incProps == null || U.containsStringArray(incProps, 
name, true) ||
-                        U.isVisorNodeStartProperty(name) || 
U.isVisorRequiredProperty(name);
-                }
-            }));
+            for (Map.Entry<String, String> sysEntry : 
System.getenv().entrySet()) {
+                String name = sysEntry.getKey();
+
+                if (incProps == null || U.containsStringArray(incProps, name, 
true) ||
+                    U.isVisorNodeStartProperty(name) || 
U.isVisorRequiredProperty(name))
+                    ctx.addNodeAttribute(name, sysEntry.getValue());
+            }
 
             if (log.isDebugEnabled())
                 log.debug("Added environment properties to node attributes.");
@@ -1375,16 +1376,8 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
      * @throws IgniteCheckedException Throw in case of any errors.
      */
     private void startManager(GridManager mgr) throws IgniteCheckedException {
-        mgr.addSpiAttributes();
-
-        // Set all node attributes into discovery manager,
-        // so they can be distributed to all nodes.
-        if (mgr instanceof GridDiscoveryManager)
-            ((GridDiscoveryManager)mgr).setNodeAttributes(VER);
-
-        // Add manager to registry before it starts to avoid
-        // cases when manager is started but registry does not
-        // have it yet.
+        // Add manager to registry before it starts to avoid cases when 
manager is started
+        // but registry does not have it yet.
         ctx.add(mgr);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManager.java
index 55cfc89..13536b1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManager.java
@@ -31,15 +31,7 @@ import java.util.*;
 @GridToStringExclude
 public interface GridManager extends GridComponent {
     /**
-     * Adds attributes from underlying SPI to node attributes.
-     *
-     * @throws IgniteCheckedException Wrapper for exception thrown by 
underlying SPI.
-     */
-    public void addSpiAttributes() throws IgniteCheckedException;
-
-    /**
-     * @return Returns {@code true} if at least one SPI does not have a {@code 
NO-OP}
-     *      implementation, {@code false} otherwise.
+     * @return {@code true} if at least one SPI does not have a {@code NO-OP} 
implementation, {@code false} otherwise.
      */
     public boolean enabled();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
index 7e12e05..ce80bfb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
@@ -90,6 +90,38 @@ public abstract class GridManagerAdapter<T extends 
IgniteSpi> implements GridMan
         log = ctx.log(getClass());
     }
 
+    /** {@inheritDoc} */
+    @Override public void start() throws IgniteCheckedException {
+        for (T spi : spis) {
+            // Inject all spi resources.
+            ctx.resource().inject(spi);
+
+            // Inject SPI internal objects.
+            inject(spi);
+
+            try {
+                Map<String, Object> retval = spi.getNodeAttributes();
+
+                if (retval != null) {
+                    for (Map.Entry<String, Object> e : retval.entrySet()) {
+                        if (ctx.hasNodeAttribute(e.getKey()))
+                            throw new IgniteCheckedException("SPI attribute 
collision for attribute [spi=" + spi +
+                                ", attr=" + e.getKey() + ']' +
+                                ". Attribute set by one SPI implementation has 
the same name (name collision) as " +
+                                "attribute set by other SPI implementation. 
Such overriding is not allowed. " +
+                                "Please check your Ignite configuration and/or 
SPI implementation to avoid " +
+                                "attribute name collisions.");
+
+                        ctx.addNodeAttribute(e.getKey(), e.getValue());
+                    }
+                }
+            }
+            catch (IgniteSpiException e) {
+                throw new IgniteCheckedException("Failed to get SPI 
attributes.", e);
+            }
+        }
+    }
+
     /**
      * Gets wrapped SPI.
      *
@@ -130,38 +162,6 @@ public abstract class GridManagerAdapter<T extends 
IgniteSpi> implements GridMan
         return spis;
     }
 
-    /** {@inheritDoc} */
-    @Override public final void addSpiAttributes() throws 
IgniteCheckedException {
-        for (T spi : spis) {
-            // Inject all spi resources.
-            ctx.resource().inject(spi);
-
-            // Inject SPI internal objects.
-            inject(spi);
-
-            try {
-                Map<String, Object> retval = spi.getNodeAttributes();
-
-                if (retval != null) {
-                    for (Map.Entry<String, Object> e : retval.entrySet()) {
-                        if (ctx.hasNodeAttribute(e.getKey()))
-                            throw new IgniteCheckedException("SPI attribute 
collision for attribute [spi=" + spi +
-                                ", attr=" + e.getKey() + ']' +
-                                ". Attribute set by one SPI implementation has 
the same name (name collision) as " +
-                                "attribute set by other SPI implementation. 
Such overriding is not allowed. " +
-                                "Please check your Ignite configuration and/or 
SPI implementation to avoid " +
-                                "attribute name collisions.");
-
-                        ctx.addNodeAttribute(e.getKey(), e.getValue());
-                    }
-                }
-            }
-            catch (IgniteSpiException e) {
-                throw new IgniteCheckedException("Failed to get SPI 
attributes.", e);
-            }
-        }
-    }
-
     /**
      * @param spi SPI whose internal objects need to be injected.
      * @throws IgniteCheckedException If injection failed.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
index 291930b..f782546 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
@@ -78,6 +78,8 @@ public class GridCheckpointManager extends 
GridManagerAdapter<CheckpointSpi> {
         if (ctx.config().isDaemon())
             return;
 
+        super.start();
+
         for (CheckpointSpi spi : getSpis()) {
             spi.setCheckpointListener(new CheckpointListener() {
                 @Override public void onCheckpointRemoved(String key) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java
index 2f00fb7..37b5cfe 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java
@@ -47,6 +47,8 @@ public class GridCollisionManager extends 
GridManagerAdapter<CollisionSpi> {
         if (ctx.config().isDaemon())
             return;
 
+        super.start();
+
         startSpi();
 
         if (enabled()) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index 968e93a..b2d4b40 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -179,6 +179,8 @@ public class GridIoManager extends 
GridManagerAdapter<CommunicationSpi<Serializa
     /** {@inheritDoc} */
     @SuppressWarnings("deprecation")
     @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         assertParameter(discoDelay > 0, "discoveryStartupDelay > 0");
 
         startSpi();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentManager.java
index 3d3bdc8..bbfbcb6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentManager.java
@@ -81,6 +81,8 @@ public class GridDeploymentManager extends 
GridManagerAdapter<DeploymentSpi> {
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         GridProtocolHandler.registerDeploymentManager(this);
 
         assertParameter(ctx.config().getDeploymentMode() != null, 
"ctx.config().getDeploymentMode() != null");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 70ff7d9..b59c9e4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -53,6 +53,7 @@ import java.util.zip.*;
 import static java.util.concurrent.TimeUnit.*;
 import static org.apache.ignite.events.EventType.*;
 import static org.apache.ignite.internal.IgniteNodeAttributes.*;
+import static org.apache.ignite.internal.IgniteVersionUtils.*;
 import static org.apache.ignite.plugin.segmentation.GridSegmentationPolicy.*;
 
 /**
@@ -189,12 +190,10 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
         }
     }
 
-    /**
-     * Sets local node attributes into discovery SPI.
-     *
-     * @param ver Version.
-     */
-    public void setNodeAttributes(IgniteProductVersion ver) {
+    /** {@inheritDoc} */
+    @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         // TODO GG-7574 move to metrics processor?
         long totSysMemory = -1;
 
@@ -207,11 +206,10 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
 
         ctx.addNodeAttribute(IgniteNodeAttributes.ATTR_PHY_RAM, totSysMemory);
 
-        getSpi().setNodeAttributes(ctx.nodeAttributes(), ver);
-    }
+        DiscoverySpi spi = getSpi();
+
+        spi.setNodeAttributes(ctx.nodeAttributes(), VER);
 
-    /** {@inheritDoc} */
-    @Override public void start() throws IgniteCheckedException {
         discoOrdered = discoOrdered();
 
         histSupported = historySupported();
@@ -235,10 +233,10 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
 
         new IgniteThread(metricsUpdater).start();
 
-        getSpi().setMetricsProvider(createMetricsProvider());
+        spi.setMetricsProvider(createMetricsProvider());
 
         if (ctx.security().enabled()) {
-            getSpi().setAuthenticator(new DiscoverySpiNodeAuthenticator() {
+            spi.setAuthenticator(new DiscoverySpiNodeAuthenticator() {
                 @Override public SecurityContext authenticateNode(ClusterNode 
node, GridSecurityCredentials cred) {
                     try {
                         return ctx.security().authenticateNode(node, cred);
@@ -254,7 +252,7 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
             });
         }
 
-        getSpi().setListener(new DiscoverySpiListener() {
+        spi.setListener(new DiscoverySpiListener() {
             @Override public void onDiscovery(
                 int type,
                 long topVer,
@@ -315,7 +313,7 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
             }
         });
 
-        getSpi().setDataExchange(new DiscoverySpiDataExchange() {
+        spi.setDataExchange(new DiscoverySpiDataExchange() {
             @Override public Map<Integer, Object> collect(UUID nodeId) {
                 assert nodeId != null;
 
@@ -367,7 +365,7 @@ public class GridDiscoveryManager extends 
GridManagerAdapter<DiscoverySpi> {
 
         checkAttributes(discoCache().remoteNodes());
 
-        locNode = getSpi().getLocalNode();
+        locNode = spi.getLocalNode();
 
         topVer.setIfGreater(locNode.order());
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
index 82af8bf..d936a86 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
@@ -222,6 +222,8 @@ public class GridEventStorageManager extends 
GridManagerAdapter<EventStorageSpi>
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         Map<IgnitePredicate<? extends Event>, int[]> evtLsnrs = 
ctx.config().getLocalEventListeners();
 
         if (evtLsnrs != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/failover/GridFailoverManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/failover/GridFailoverManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/failover/GridFailoverManager.java
index 714cccb..26cf308 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/failover/GridFailoverManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/failover/GridFailoverManager.java
@@ -39,6 +39,8 @@ public class GridFailoverManager extends 
GridManagerAdapter<FailoverSpi> {
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         startSpi();
 
         if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java
index 3fe7839..9115f26 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java
@@ -48,6 +48,8 @@ public class GridIndexingManager extends 
GridManagerAdapter<IndexingSpi> {
         if (ctx.config().isDaemon())
             return;
 
+        super.start();
+
         if (!enabled())
             U.warn(log, "Indexing is disabled (to enable please configure 
GridIndexingSpi).");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
index ac961b7..338d346 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
@@ -45,6 +45,8 @@ public class GridLoadBalancerManager extends 
GridManagerAdapter<LoadBalancingSpi
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
+        super.start();
+
         startSpi();
 
         if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9db3972/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
index ef999d7..d1566ec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
@@ -53,6 +53,8 @@ public class GridSwapSpaceManager extends 
GridManagerAdapter<SwapSpaceSpi> {
         if (ctx.config().isDaemon())
             return;
 
+        super.start();
+
         getSpi().setListener(new SwapSpaceSpiListener() {
             @Override public void onSwapEvent(int evtType, @Nullable String 
spaceName, @Nullable byte[] keyBytes) {
                 if (ctx.event().isRecordable(evtType)) {

Reply via email to