Repository: ignite
Updated Branches:
  refs/heads/ignite-5075 b53950ac9 -> 542c2c906


ignite-5075


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

Branch: refs/heads/ignite-5075
Commit: 542c2c906ac6b2f7b160ba694dd4422f62cb743d
Parents: b53950a
Author: sboikov <[email protected]>
Authored: Fri May 12 13:21:56 2017 +0300
Committer: sboikov <[email protected]>
Committed: Fri May 12 14:06:57 2017 +0300

----------------------------------------------------------------------
 .../cache/CacheAffinitySharedManager.java       | 13 ++++++------
 .../cache/CacheGroupInfrastructure.java         |  4 ++--
 .../processors/cache/GridCacheProcessor.java    |  2 +-
 .../dht/GridDhtPartitionTopologyImpl.java       | 22 ++++++++++----------
 .../processors/cache/IgniteCacheGroupsTest.java | 13 ++++++++++++
 5 files changed, 34 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/542c2c90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index d9c6071..c3fc575 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -398,8 +398,8 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
         }
 
         if (crd) {
-            for (CacheGroupDescriptor grpDesc : 
exchActions.cacheGroupsToStart())
-                initStartedGroupOnCoordinator(fut, grpDesc);
+            for (ExchangeActions.ActionData action : 
exchActions.newAndClientCachesStartRequests())
+                initStartedGroupOnCoordinator(fut, 
action.descriptor().groupDescriptor());
         }
 
         List<ExchangeActions.ActionData> closeReqs = 
exchActions.closeRequests(cctx.localNodeId());
@@ -434,7 +434,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
                 else
                     grpClosed = true;
 
-                // All client caches were stopped, need create 'client' 
CacheGroupHolder.
+                // All client cache groups were stopped, need create 'client' 
CacheGroupHolder.
                 if (grpClosed) {
                     CacheGroupHolder grpHolder = 
grpHolders.remove(grp.groupId());
 
@@ -754,8 +754,8 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
      */
     private void forAllCacheGroups(boolean crd, 
IgniteInClosureX<GridAffinityAssignmentCache> c) {
         if (crd) {
-            for (CacheGroupHolder cache : grpHolders.values())
-                c.apply(cache.affinity());
+            for (CacheGroupHolder grp : grpHolders.values())
+                c.apply(grp.affinity());
         }
         else {
             for (CacheGroupInfrastructure grp : 
cctx.kernalContext().cache().cacheGroups()) {
@@ -1128,12 +1128,13 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
                 CacheGroupHolder grpHolder = grpHolders.get(desc.groupId());
 
                 if (grpHolder != null) {
-                    if (grpHolder.client())
+                    if (grpHolder.client()) // Affinity for non-client holders 
calculated in {@link #onServerLeft}.
                         grpHolder.affinity().calculate(fut.topologyVersion(), 
fut.discoveryEvent(), fut.discoCache());
 
                     return;
                 }
 
+                // Need initialize holders and affinity if this node became 
coordinator during this exchange.
                 final Integer grpId = desc.groupId();
 
                 CacheGroupInfrastructure grp = cctx.cache().cacheGroup(grpId);

http://git-wip-us.apache.org/repos/asf/ignite/blob/542c2c90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupInfrastructure.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupInfrastructure.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupInfrastructure.java
index 94d4357..ec33685 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupInfrastructure.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupInfrastructure.java
@@ -332,9 +332,9 @@ public class CacheGroupInfrastructure {
      */
     @Nullable public String nameForLog() {
         if (ccfg.getGroupName() == null)
-            return "Cache-" + ccfg.getName();
+            return "[cache, name=" + ccfg.getName() + ']';
 
-        return "CacheGroup-" + ccfg.getGroupName();
+        return "[cacheGroup, name=" + ccfg.getGroupName() + ']';
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/542c2c90/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 6abe09f..776f2c8 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
@@ -970,7 +970,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 stopCache(cache, cancel, false);
         }
 
-        for (CacheGroupInfrastructure grp :cacheGrps.values())
+        for (CacheGroupInfrastructure grp : cacheGrps.values())
             stopCacheGroup(grp.groupId());
 
         cachesInfo.clearCaches();

http://git-wip-us.apache.org/repos/asf/ignite/blob/542c2c90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index 770c791..826b2d4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -243,7 +243,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
                             if (dumpCnt++ < 
GridDhtPartitionsExchangeFuture.DUMP_PENDING_OBJECTS_THRESHOLD) {
                                 U.warn(log, "Failed to wait for partition 
eviction [" +
                                     "topVer=" + topVer +
-                                    ", group=" + grp.name() +
+                                    ", group=" + grp.nameForLog() +
                                     ", part=" + part.id() +
                                     ", partState=" + part.state() +
                                     ", size=" + part.size() +
@@ -337,7 +337,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
         AffinityTopologyVersion topVer = this.topVer;
 
         assert topVer.topologyVersion() > 0 : "Invalid topology version 
[topVer=" + topVer +
-            ", group=" + grp.name() + ']';
+            ", group=" + grp.nameForLog() + ']';
 
         return topVer;
     }
@@ -387,12 +387,12 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
 
         assert topVer.equals(exchFut.topologyVersion()) :
             "Invalid topology [topVer=" + topVer +
-                ", grp=" + grp.name() +
+                ", grp=" + grp.nameForLog() +
                 ", futVer=" + exchFut.topologyVersion() +
                 ", fut=" + exchFut + ']';
         assert grp.affinity().lastVersion().equals(exchFut.topologyVersion()) :
             "Invalid affinity [topVer=" + grp.affinity().lastVersion() +
-                ", grp=" + grp.name() +
+                ", grp=" + grp.nameForLog() +
                 ", futVer=" + exchFut.topologyVersion() +
                 ", fut=" + exchFut + ']';
 
@@ -414,7 +414,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
 
                         boolean owned = locPart.own();
 
-                        assert owned : "Failed to own partition for oldest 
node [grp=" + grp.name() +
+                        assert owned : "Failed to own partition for oldest 
node [grp=" + grp.nameForLog() +
                             ", part=" + locPart + ']';
 
                         if (log.isDebugEnabled())
@@ -654,7 +654,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
                             if (F.isEmpty(owners)) {
                                 boolean owned = locPart.own();
 
-                                assert owned : "Failed to own partition [grp=" 
+ grp.name() + ", locPart=" +
+                                assert owned : "Failed to own partition [grp=" 
+ grp.nameForLog() + ", locPart=" +
                                     locPart + ']';
 
                                 updateSeq = updateLocal(p, locPart.state(), 
updateSeq);
@@ -960,7 +960,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
             assert node2part != null && node2part.valid() : "Invalid 
node-to-partitions map [topVer1=" + topVer +
                 ", topVer2=" + this.topVer +
                 ", node=" + ctx.igniteInstanceName() +
-                ", grp=" + grp.name() +
+                ", grp=" + grp.nameForLog() +
                 ", node2part=" + node2part + ']';
 
             List<ClusterNode> nodes = null;
@@ -1015,7 +1015,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
             assert node2part != null && node2part.valid() : "Invalid 
node-to-partitions map [topVer=" + topVer +
                 ", allIds=" + allIds +
                 ", node2part=" + node2part +
-                ", grp=" + grp.name() + ']';
+                ", grp=" + grp.nameForLog() + ']';
 
             Collection<UUID> nodeIds = part2node.get(p);
 
@@ -1942,7 +1942,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
 
         try {
             assert node2part != null && node2part.valid() : "Invalid node2part 
[node2part: " + node2part +
-                ", grp=" + grp.name() +
+                ", grp=" + grp.nameForLog() +
                 ", stopping=" + stopping +
                 ", locNodeId=" + ctx.localNodeId() +
                 ", locName=" + ctx.igniteInstanceName() + ']';
@@ -1962,7 +1962,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
     /** {@inheritDoc} */
     @Override public void printMemoryStats(int threshold) {
         X.println(">>>  Cache partition topology stats [igniteInstanceName=" + 
ctx.igniteInstanceName() +
-            ", grp=" + grp.name() + ']');
+            ", grp=" + grp.nameForLog() + ']');
 
         lock.readLock().lock();
 
@@ -2017,7 +2017,7 @@ public class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
             rebalancedTopVer = topVer;
 
             if (log.isDebugEnabled())
-                log.debug("Updated rebalanced version [cache=" + grp.name() + 
", ver=" + rebalancedTopVer + ']');
+                log.debug("Updated rebalanced version [cache=" + 
grp.nameForLog() + ", ver=" + rebalancedTopVer + ']');
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/542c2c90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
index 4ba4cfe..39dc044 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
@@ -89,10 +89,23 @@ public class IgniteCacheGroupsTest extends 
GridCommonAbstractTest {
         checkCacheGroup(0, GROUP1, true);
         checkCacheGroup(0, GROUP1, true);
 
+        checkCache(0, "c1");
+        checkCache(1, "c1");
+
         c1.close();
 
         checkCacheGroup(0, GROUP1, true);
         checkCacheGroup(1, GROUP1, false);
+
+        checkCache(0, "c1");
+
+        assertNotNull(client.cache("c1"));
+
+        checkCacheGroup(0, GROUP1, true);
+        checkCacheGroup(1, GROUP1, true);
+
+        checkCache(0, "c1");
+        checkCache(1, "c1");
     }
 
     /**

Reply via email to