You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2016/12/29 09:37:28 UTC

[24/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix join inactive node to active cluster (small refactoring)

ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix join inactive node to active cluster (small refactoring)


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

Branch: refs/heads/ignite-3477
Commit: 842c1b7b8f2063b99cdd4b7740510c2e0b2e2553
Parents: 691c3b7
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Dec 22 16:33:04 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Dec 22 16:33:04 2016 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheProcessor.java    | 26 +++++++++-----------
 1 file changed, 12 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/842c1b7b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index f7a816e..03859d3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -755,33 +755,31 @@ public class GridCacheProcessor extends GridProcessorAdapter {
             //if we start as inactive node, and join to active cluster, we must registrate all caches which
             //was receive on join
             if (!ctx.isDaemon() && currentStatus && !activeOnStart) {
-                CacheConfiguration[] cacheCfgs = ctx.config().getCacheConfiguration();
-
-                CacheConfiguration[] newCacheCfg = new CacheConfiguration[cacheCfgs.length];
-
-                boolean apply = false;
-
-                for (int i = 0; i < cacheCfgs.length; i++) {
-                    CacheConfiguration conf = cacheCfgs[i];
+                List<CacheConfiguration> tmpCacheCfg = new ArrayList<>();
 
+                for (CacheConfiguration conf : ctx.config().getCacheConfiguration()) {
                     for (DynamicCacheDescriptor desc : registeredCaches.values()) {
                         CacheConfiguration c = desc.cacheConfiguration();
-                        IgnitePredicate filter = conf.getNodeFilter();
+                        IgnitePredicate filter = c.getNodeFilter();
 
                         if (c.getName().equals(conf.getName()) &&
-                            (desc.receivedOnDiscovery() || CU.isSystemCache(c.getName()))) {
-
-                            newCacheCfg[i] = c;
+                            ((desc.receivedOnDiscovery() && CU.affinityNode(locNode, filter)) ||
+                                CU.isSystemCache(c.getName()))) {
 
-                            apply = true;
+                            tmpCacheCfg.add(c);
 
                             break;
                         }
                     }
                 }
 
-                if (apply)
+                if (!tmpCacheCfg.isEmpty()) {
+                    CacheConfiguration[] newCacheCfg = new CacheConfiguration[tmpCacheCfg.size()];
+
+                    tmpCacheCfg.toArray(newCacheCfg);
+
                     ctx.config().setCacheConfiguration(newCacheCfg);
+                }
 
                 activeOnStart = ctx.state().active();
             }