ignite-5075

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

Branch: refs/heads/ignite-5075
Commit: 103f68160451f4d9a3d7843736d210bb5999b683
Parents: a678809
Author: sboikov <sboi...@gridgain.com>
Authored: Thu May 18 10:33:24 2017 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Thu May 18 10:33:38 2017 +0300

----------------------------------------------------------------------
 .../cache/CacheAffinitySharedManager.java       | 10 ++--
 .../processors/cache/ClusterCachesInfo.java     |  6 +--
 .../cache/DynamicCacheDescriptor.java           | 10 ++++
 .../GridDhtPartitionsExchangeFuture.java        | 16 +++---
 ...CacheExchangeMessageDuplicatedStateTest.java | 54 +++++++++++---------
 ...IgniteCacheJdbcBlobStoreNodeRestartTest.java |  3 ++
 6 files changed, 59 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/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 e599344..c3311a8 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
@@ -386,7 +386,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
                 cctx.cache().prepareCacheStart(cacheDesc, nearCfg, 
fut.topologyVersion());
 
                 if (fut.cacheAddedOnExchange(cacheDesc.cacheId(), 
cacheDesc.receivedFrom())) {
-                    if 
(fut.discoCache().cacheGroupAffinityNodes(cacheDesc.groupDescriptor().groupId()).isEmpty())
+                    if 
(fut.discoCache().cacheGroupAffinityNodes(cacheDesc.groupId()).isEmpty())
                         U.quietAndWarn(log, "No server nodes found for cache 
client: " + req.cacheName());
                 }
             }
@@ -395,7 +395,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
         Set<Integer> gprs = new HashSet<>();
 
         for (ExchangeActions.ActionData action : 
exchActions.newAndClientCachesStartRequests()) {
-            Integer grpId = action.descriptor().groupDescriptor().groupId();
+            Integer grpId = action.descriptor().groupId();
 
             if (gprs.add(grpId)) {
                 if (crd && lateAffAssign)
@@ -403,7 +403,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
                 else {
                     CacheGroupInfrastructure grp = 
cctx.cache().cacheGroup(grpId);
 
-                    if (grp != null && 
grp.localStartVersion().equals(fut.topologyVersion())) {
+                    if (grp != null && !grp.isLocal() && 
grp.localStartVersion().equals(fut.topologyVersion())) {
                         assert 
grp.affinity().lastVersion().equals(AffinityTopologyVersion.NONE) : 
grp.affinity().lastVersion();
 
                         initAffinity(registeredGrps.get(grp.groupId()), 
grp.affinity(), fut);
@@ -418,7 +418,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
             cctx.cache().blockGateway(req.request());
 
             if (crd) {
-                CacheGroupInfrastructure grp = 
cctx.cache().cacheGroup(req.descriptor().groupDescriptor().groupId());
+                CacheGroupInfrastructure grp = 
cctx.cache().cacheGroup(req.descriptor().groupId());
 
                 assert grp != null;
 
@@ -1755,7 +1755,7 @@ public class CacheAffinitySharedManager<K, V> extends 
GridCacheSharedManagerAdap
             assert ccfg.getCacheMode() != LOCAL : ccfg.getName();
 
             assert !cctx.discovery().cacheGroupAffinityNodes(grpDesc.groupId(),
-                fut.topologyVersion()).contains(cctx.localNode()) : 
cacheDesc.cacheName();
+                fut.topologyVersion()).contains(cctx.localNode()) : 
grpDesc.cacheOrGroupName();
 
             AffinityFunction affFunc = cctx.cache().clone(ccfg.getAffinity());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
index b5dbc95..c6cee00 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
@@ -399,9 +399,9 @@ class ClusterCachesInfo {
 
                     exchangeActions.addCacheToStop(req, desc);
 
-                    CacheGroupDescriptor grpDesc = 
registeredCacheGrps.get(desc.groupDescriptor().groupId());
+                    CacheGroupDescriptor grpDesc = 
registeredCacheGrps.get(desc.groupId());
 
-                    assert grpDesc != null && grpDesc.groupId() == 
desc.groupDescriptor().groupId() : desc;
+                    assert grpDesc != null && grpDesc.groupId() == 
desc.groupId() : desc;
 
                     grpDesc.onCacheStopped(desc.cacheName(), desc.cacheId());
 
@@ -639,7 +639,7 @@ class ClusterCachesInfo {
         for (DynamicCacheDescriptor desc : registeredCaches.values()) {
             CacheData cacheData = new CacheData(desc.cacheConfiguration(),
                 desc.cacheId(),
-                desc.groupDescriptor().groupId(),
+                desc.groupId(),
                 desc.cacheType(),
                 desc.deploymentId(),
                 desc.schema(),

http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
index fcf3642..01ac9ae 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
@@ -143,6 +143,15 @@ public class DynamicCacheDescriptor {
     /**
      * @return Cache group ID.
      */
+    public int groupId() {
+        assert grpDesc != null : this;
+
+        return grpDesc.groupId();
+    }
+
+    /**
+     * @return Cache group descriptor.
+     */
     public CacheGroupDescriptor groupDescriptor() {
         assert grpDesc != null : this;
 
@@ -205,6 +214,7 @@ public class DynamicCacheDescriptor {
      *
      * @param proc Object processor.
      * @return Cache object context.
+     * @throws IgniteCheckedException If failed.
      */
     public CacheObjectContext cacheObjectContext(IgniteCacheObjectProcessor 
proc) throws IgniteCheckedException {
         if (objCtx == null) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index b3a1002..d916e7d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -955,19 +955,19 @@ public class GridDhtPartitionsExchangeFuture extends 
GridFutureAdapter<AffinityT
     private void warnNoAffinityNodes() {
         List<String> cachesWithoutNodes = null;
 
-        for (GridCacheContext ctx : cctx.cacheContexts()) {
-            if (discoCache.cacheGroupAffinityNodes(ctx.groupId()).isEmpty()) {
+        for (DynamicCacheDescriptor cacheDesc : 
cctx.cache().cacheDescriptors().values()) {
+            if 
(discoCache.cacheGroupAffinityNodes(cacheDesc.groupId()).isEmpty()) {
                 if (cachesWithoutNodes == null)
                     cachesWithoutNodes = new ArrayList<>();
 
-                cachesWithoutNodes.add(ctx.name());
+                cachesWithoutNodes.add(cacheDesc.cacheName());
 
                 // Fire event even if there is no client cache started.
-                if 
(ctx.gridEvents().isRecordable(EventType.EVT_CACHE_NODES_LEFT)) {
+                if 
(cctx.gridEvents().isRecordable(EventType.EVT_CACHE_NODES_LEFT)) {
                     Event evt = new CacheEvent(
-                        ctx.name(),
-                        ctx.localNode(),
-                        ctx.localNode(),
+                        cacheDesc.cacheName(),
+                        cctx.localNode(),
+                        cctx.localNode(),
                         "All server nodes have left the cluster.",
                         EventType.EVT_CACHE_NODES_LEFT,
                         0,
@@ -984,7 +984,7 @@ public class GridDhtPartitionsExchangeFuture extends 
GridFutureAdapter<AffinityT
                         null
                     );
 
-                    ctx.gridEvents().record(evt);
+                    cctx.gridEvents().record(evt);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheExchangeMessageDuplicatedStateTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheExchangeMessageDuplicatedStateTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheExchangeMessageDuplicatedStateTest.java
index d8a2065..f3a2204 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheExchangeMessageDuplicatedStateTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheExchangeMessageDuplicatedStateTest.java
@@ -283,30 +283,33 @@ public class CacheExchangeMessageDuplicatedStateTest 
extends GridCommonAbstractT
         Map<Integer, Integer> dupPartsData,
         GridDhtPartitionsFullMessage msg)
     {
-        Integer cacheId;
-        Integer dupCacheId;
+        int cache1Grp = groupIdForCache(ignite(0), cache1);
+        int cache2Grp = groupIdForCache(ignite(0), cache2);
 
-        if (dupPartsData.containsKey(CU.cacheId(cache1))) {
-            cacheId = CU.cacheId(cache1);
-            dupCacheId = CU.cacheId(cache2);
+        Integer grpId;
+        Integer dupGrpId;
+
+        if (dupPartsData.containsKey(cache1Grp)) {
+            grpId = cache1Grp;
+            dupGrpId = cache2Grp;
         }
         else {
-            cacheId = CU.cacheId(cache2);
-            dupCacheId = CU.cacheId(cache1);
+            grpId = cache2Grp;
+            dupGrpId = cache1Grp;
         }
 
-        assertTrue(dupPartsData.containsKey(cacheId));
-        assertEquals(dupCacheId, dupPartsData.get(cacheId));
-        assertFalse(dupPartsData.containsKey(dupCacheId));
+        assertTrue(dupPartsData.containsKey(grpId));
+        assertEquals(dupGrpId, dupPartsData.get(grpId));
+        assertFalse(dupPartsData.containsKey(dupGrpId));
 
         Map<Integer, GridDhtPartitionFullMap> parts = msg.partitions();
 
-        GridDhtPartitionFullMap emptyFullMap = parts.get(cacheId);
+        GridDhtPartitionFullMap emptyFullMap = parts.get(grpId);
 
         for (GridDhtPartitionMap map : emptyFullMap.values())
             assertEquals(0, map.map().size());
 
-        GridDhtPartitionFullMap fullMap = parts.get(dupCacheId);
+        GridDhtPartitionFullMap fullMap = parts.get(dupGrpId);
 
         for (GridDhtPartitionMap map : fullMap.values())
             assertFalse(map.map().isEmpty());
@@ -323,29 +326,32 @@ public class CacheExchangeMessageDuplicatedStateTest 
extends GridCommonAbstractT
         Map<Integer, Integer> dupPartsData,
         GridDhtPartitionsSingleMessage msg)
     {
-        Integer cacheId;
-        Integer dupCacheId;
+        int cache1Grp = groupIdForCache(ignite(0), cache1);
+        int cache2Grp = groupIdForCache(ignite(0), cache2);
+
+        Integer grpId;
+        Integer dupGrpId;
 
-        if (dupPartsData.containsKey(CU.cacheId(cache1))) {
-            cacheId = CU.cacheId(cache1);
-            dupCacheId = CU.cacheId(cache2);
+        if (dupPartsData.containsKey(cache1Grp)) {
+            grpId = cache1Grp;
+            dupGrpId = cache2Grp;
         }
         else {
-            cacheId = CU.cacheId(cache2);
-            dupCacheId = CU.cacheId(cache1);
+            grpId = cache2Grp;
+            dupGrpId = cache1Grp;
         }
 
-        assertTrue(dupPartsData.containsKey(cacheId));
-        assertEquals(dupCacheId, dupPartsData.get(cacheId));
-        assertFalse(dupPartsData.containsKey(dupCacheId));
+        assertTrue(dupPartsData.containsKey(grpId));
+        assertEquals(dupGrpId, dupPartsData.get(grpId));
+        assertFalse(dupPartsData.containsKey(dupGrpId));
 
         Map<Integer, GridDhtPartitionMap> parts = msg.partitions();
 
-        GridDhtPartitionMap emptyMap = parts.get(cacheId);
+        GridDhtPartitionMap emptyMap = parts.get(grpId);
 
         assertEquals(0, emptyMap.map().size());
 
-        GridDhtPartitionMap map = parts.get(dupCacheId);
+        GridDhtPartitionMap map = parts.get(dupGrpId);
 
         assertFalse(map.map().isEmpty());
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/103f6816/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheJdbcBlobStoreNodeRestartTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheJdbcBlobStoreNodeRestartTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheJdbcBlobStoreNodeRestartTest.java
index 1c29098..83ddf67 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheJdbcBlobStoreNodeRestartTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheJdbcBlobStoreNodeRestartTest.java
@@ -23,6 +23,9 @@ import org.apache.ignite.cache.store.CacheStore;
 import org.apache.ignite.cache.store.jdbc.CacheJdbcBlobStore;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 
+/**
+ *
+ */
 public class IgniteCacheJdbcBlobStoreNodeRestartTest extends 
IgniteCacheStoreNodeRestartAbstractTest {
     /** {@inheritDoc} */
     @Override protected CacheStore getStore() {

Reply via email to