You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/05/11 14:42:35 UTC
[6/7] ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-5075-cacheStart' into ignite-5075
Merge remote-tracking branch 'remotes/origin/ignite-5075-cacheStart' into ignite-5075
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4afeba75
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4afeba75
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4afeba75
Branch: refs/heads/ignite-5075
Commit: 4afeba7573b7ad58b0f25a1b7c6511232c30295e
Parents: b5c8670
Author: sboikov <sb...@gridgain.com>
Authored: Thu May 11 17:09:49 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu May 11 17:19:24 2017 +0300
----------------------------------------------------------------------
.../cache/CacheAffinitySharedManager.java | 34 ++++----------------
.../processors/cache/CacheGroupData.java | 23 ++++++-------
.../processors/cache/CacheGroupDescriptor.java | 23 ++++++-------
.../cache/CacheGroupInfrastructure.java | 13 ++------
.../processors/cache/ClusterCachesInfo.java | 18 +++++------
.../processors/cache/ExchangeActions.java | 11 +++++++
.../processors/cache/GridCacheIoManager.java | 3 +-
.../processors/cache/GridCacheProcessor.java | 1 -
.../dht/GridDhtAssignmentFetchFuture.java | 6 ++--
.../dht/GridDhtPartitionTopologyImpl.java | 2 +-
.../GridDhtPartitionsExchangeFuture.java | 22 +++++++------
.../dht/preloader/GridDhtPreloader.java | 3 --
.../processors/cache/IgniteCacheGroupsTest.java | 2 ++
13 files changed, 69 insertions(+), 92 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 0443ba4..dc31ae9 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
@@ -118,16 +118,6 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
}
/**
- * @param cacheId Cache ID.
- * @return Cache start topology version.
- */
- public AffinityTopologyVersion localStartVersion(int cacheId) {
- DynamicCacheDescriptor desc = registeredCaches.get(cacheId);
-
- return desc != null ? desc.localStartVersion() : null;
- }
-
- /**
* Callback invoked from discovery thread when discovery message is received.
*
* @param type Event type.
@@ -403,21 +393,8 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
}
for (CacheGroupInfrastructure grp : cctx.cache().cacheGroups()) {
- if (grp.affinity().lastVersion().equals(AffinityTopologyVersion.NONE)) {
- if (grp.groupStartVersion().equals(fut.topologyVersion())) {
- GridAffinityAssignmentCache aff = grp.affinity();
-
- List<List<ClusterNode>> assignment = aff.calculate(fut.topologyVersion(),
- fut.discoveryEvent(), fut.discoCache());
-
- aff.initialize(fut.topologyVersion(), assignment);
- }
- else {
- assert grp.localStartVersion().equals(fut.topologyVersion());
-
- initAffinity(registeredGrps.get(grp.groupId()), grp.affinity(), fut, lateAffAssign);
- }
- }
+ if (grp.affinity().lastVersion().equals(AffinityTopologyVersion.NONE))
+ initAffinity(registeredGrps.get(grp.groupId()), grp.affinity(), fut, lateAffAssign);
}
if (crd) {
@@ -881,7 +858,8 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
assert grpDesc != null : aff.groupName();
- return grpDesc.startTopologyVersion().equals(fut.topologyVersion()) ||
+ return fut.cacheGroupStarting(aff.groupId()) ||
+ cctx.localNodeId().equals(grpDesc.receivedFrom()) ||
!fut.exchangeId().nodeId().equals(cctx.localNodeId()) ||
(affNodes.size() == 1 && affNodes.contains(cctx.localNode()));
}
@@ -974,7 +952,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
if (grp.isLocal())
continue;
- if (grp.groupStartVersion().equals(fut.topologyVersion())) {
+ if (canCalculateAffinity(grp.affinity(), fut)) {
List<List<ClusterNode>> assignment = grp.affinity().calculate(fut.topologyVersion(),
fut.discoveryEvent(),
fut.discoCache());
@@ -998,7 +976,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
for (int i = 0; i < fetchFuts.size(); i++) {
GridDhtAssignmentFetchFuture fetchFut = fetchFuts.get(i);
- Integer grpId = fetchFut.cacheId();
+ Integer grpId = fetchFut.groupId();
fetchAffinity(fut, cctx.cache().cacheGroup(grpId).affinity(), fetchFut);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupData.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupData.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupData.java
index 0123262..ea2c256 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupData.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupData.java
@@ -19,9 +19,8 @@ package org.apache.ignite.internal.processors.cache;
import java.io.Serializable;
import java.util.Map;
-import java.util.Set;
+import java.util.UUID;
import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
@@ -40,13 +39,13 @@ public class CacheGroupData implements Serializable {
private final int grpId;
/** */
- private final IgniteUuid deploymentId;
+ private final UUID rcvdFrom;
/** */
- private final CacheConfiguration cacheCfg;
+ private final IgniteUuid deploymentId;
/** */
- private final AffinityTopologyVersion startTopVer;
+ private final CacheConfiguration cacheCfg;
/** */
@GridToStringInclude
@@ -55,28 +54,30 @@ public class CacheGroupData implements Serializable {
/**
* @param cacheCfg Cache configuration.
* @param grpId
- * @param startTopVer
*/
public CacheGroupData(CacheConfiguration cacheCfg,
String grpName,
int grpId,
+ UUID rcvdFrom,
IgniteUuid deploymentId,
- AffinityTopologyVersion startTopVer,
Map<String, Integer> caches) {
assert cacheCfg != null;
assert grpName != null;
assert grpId != 0;
assert deploymentId != null;
- assert startTopVer != null;
this.cacheCfg = cacheCfg;
this.grpName = grpName;
this.grpId = grpId;
+ this.rcvdFrom = rcvdFrom;
this.deploymentId = deploymentId;
- this.startTopVer = startTopVer;
this.caches = caches;
}
+ public UUID receivedFrom() {
+ return rcvdFrom;
+ }
+
public String groupName() {
return grpName;
}
@@ -93,10 +94,6 @@ public class CacheGroupData implements Serializable {
return cacheCfg;
}
- public AffinityTopologyVersion startTopologyVersion() {
- return startTopVer;
- }
-
Map<String, Integer> caches() {
return caches;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupDescriptor.java
index da55871..c418002 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupDescriptor.java
@@ -19,13 +19,11 @@ package org.apache.ignite.internal.processors.cache;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
+import java.util.UUID;
import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
-import org.jetbrains.annotations.Nullable;
/**
*
@@ -44,31 +42,34 @@ public class CacheGroupDescriptor {
private final CacheConfiguration cacheCfg;
/** */
- private final AffinityTopologyVersion startTopVer;
-
- /** */
@GridToStringInclude
private Map<String, Integer> caches;
+ /** */
+ private final UUID rcvdFrom;
+
CacheGroupDescriptor(String grpName,
int grpId,
+ UUID rcvdFrom,
IgniteUuid deploymentId,
CacheConfiguration cacheCfg,
- AffinityTopologyVersion startTopVer,
Map<String, Integer> caches) {
assert cacheCfg != null;
assert grpName != null;
assert grpId != 0;
- assert startTopVer != null;
this.grpName = grpName;
this.grpId = grpId;
+ this.rcvdFrom = rcvdFrom;
this.deploymentId = deploymentId;
this.cacheCfg = cacheCfg;
- this.startTopVer = startTopVer;
this.caches = caches;
}
+ public UUID receivedFrom() {
+ return rcvdFrom;
+ }
+
public IgniteUuid deploymentId() {
return deploymentId;
}
@@ -113,10 +114,6 @@ public class CacheGroupDescriptor {
return cacheCfg;
}
- public AffinityTopologyVersion startTopologyVersion() {
- return startTopVer;
- }
-
Map<String, Integer> caches() {
return caches;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 e1e3e93..2a4e918 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
@@ -70,9 +70,6 @@ public class CacheGroupInfrastructure {
private GridDhtPartitionTopologyImpl top;
/** */
- private final AffinityTopologyVersion grpStartVer;
-
- /** */
private final AffinityTopologyVersion locStartVer;
/** */
@@ -122,7 +119,6 @@ public class CacheGroupInfrastructure {
CacheObjectContext cacheObjCtx,
FreeList freeList,
ReuseList reuseList,
- AffinityTopologyVersion grpStartVer,
AffinityTopologyVersion locStartVer) {
assert grpId != 0 : "Invalid group ID [cache=" + ccfg.getName() + ", grpName=" + ccfg.getGroupName() + ']';
assert ccfg != null;
@@ -136,7 +132,6 @@ public class CacheGroupInfrastructure {
this.cacheObjCtx = cacheObjCtx;
this.freeList = freeList;
this.reuseList = reuseList;
- this.grpStartVer = grpStartVer;
this.locStartVer = locStartVer;
ioPlc = cacheType.ioPolicy();
@@ -257,10 +252,6 @@ public class CacheGroupInfrastructure {
return false;
}
- public AffinityTopologyVersion groupStartVersion() {
- return grpStartVer;
- }
-
public AffinityTopologyVersion localStartVersion() {
return locStartVer;
}
@@ -383,7 +374,9 @@ public class CacheGroupInfrastructure {
AffinityAssignment assignment = aff.cachedAffinity(topVer);
- GridDhtAffinityAssignmentResponse res = new GridDhtAffinityAssignmentResponse(grpId,
+ GridDhtAffinityAssignmentResponse res = new GridDhtAffinityAssignmentResponse(
+ req.futureId(),
+ grpId,
topVer,
assignment.assignment());
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 7800a45..8b23e5b 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
@@ -290,8 +290,8 @@ class ClusterCachesInfo {
CacheGroupDescriptor grpDesc = registerCacheGroup(exchangeActions,
ccfg,
cacheId,
- req.deploymentId(),
- topVer.nextMinorVersion());
+ req.initiatingNodeId(),
+ req.deploymentId());
DynamicCacheDescriptor startDesc = new DynamicCacheDescriptor(ctx,
ccfg,
@@ -651,8 +651,8 @@ class ClusterCachesInfo {
CacheGroupData grpData = new CacheGroupData(grpDesc.config(),
grpDesc.groupName(),
grpDesc.groupId(),
+ grpDesc.receivedFrom(),
grpDesc.deploymentId(),
- grpDesc.startTopologyVersion(),
grpDesc.caches());
cacheGrps.put(grpDesc.groupName(), grpData);
@@ -699,9 +699,9 @@ class ClusterCachesInfo {
for (CacheGroupData grpData : cachesData.cacheGroups().values()) {
CacheGroupDescriptor grpDesc = new CacheGroupDescriptor(grpData.groupName(),
grpData.groupId(),
+ grpData.receivedFrom(),
grpData.deploymentId(),
grpData.config(),
- grpData.startTopologyVersion(),
grpData.caches());
CacheGroupDescriptor old = registeredCacheGrps.put(grpDesc.groupName(), grpDesc);
@@ -857,8 +857,8 @@ class ClusterCachesInfo {
CacheGroupDescriptor grpDesc = registerCacheGroup(null,
cfg,
cacheId,
- joinData.cacheDeploymentId(),
- topVer);
+ nodeId,
+ joinData.cacheDeploymentId());
DynamicCacheDescriptor desc = new DynamicCacheDescriptor(ctx,
cfg,
@@ -897,8 +897,8 @@ class ClusterCachesInfo {
ExchangeActions exchActions,
CacheConfiguration startedCacheCfg,
Integer cacheId,
- IgniteUuid deploymentId,
- AffinityTopologyVersion topVer) {
+ UUID rcvdFrom,
+ IgniteUuid deploymentId) {
if (startedCacheCfg.getGroupName() != null) {
CacheGroupDescriptor desc = registeredCacheGrps.get(startedCacheCfg.getGroupName());
@@ -919,9 +919,9 @@ class ClusterCachesInfo {
CacheGroupDescriptor grpDesc = new CacheGroupDescriptor(
grpName,
grpId,
+ rcvdFrom,
deploymentId,
startedCacheCfg,
- topVer,
caches);
CacheGroupDescriptor old = registeredCacheGrps.put(grpName, grpDesc);
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
index 8c9833f..977f544 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
@@ -296,6 +296,17 @@ public class ExchangeActions {
return cacheGrpsToStart != null ? cacheGrpsToStart : Collections.<CacheGroupDescriptor>emptyList();
}
+ public boolean cacheGroupStarting(int grpId) {
+ if (cacheGrpsToStart != null) {
+ for (CacheGroupDescriptor grpToStop : cacheGrpsToStart) {
+ if (grpToStop.groupId() == grpId)
+ return true;
+ }
+ }
+
+ return false;
+ }
+
void addCacheGroupToStop(CacheGroupDescriptor grpDesc) {
if (cacheGrpsToStop == null)
cacheGrpsToStop = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 02d1086..fb2ac3d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -146,7 +146,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
if (cacheMsg instanceof GridDhtAffinityAssignmentRequest) {
assert cacheMsg.topologyVersion() != null : cacheMsg;
- AffinityTopologyVersion waitVer = cctx.affinity().localStartVersion(cacheMsg.cacheId());
+ // TODO IGNITE-5075.
+ AffinityTopologyVersion waitVer = null;//cctx.affinity().localStartVersion(((GridDhtAffinityAssignmentRequest) cacheMsg).groupId());
if (waitVer == null)
waitVer = new AffinityTopologyVersion(cctx.localNode().order());
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 a72f21c..63b29b8 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
@@ -1922,7 +1922,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cacheObjCtx,
freeList,
reuseList,
- desc.startTopologyVersion(),
exchTopVer);
grp.start();
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
index c008ef3..a06ff78 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
@@ -113,10 +113,10 @@ public class GridDhtAssignmentFetchFuture extends GridFutureAdapter<GridDhtAffin
}
/**
- * @return Cache ID.
+ * @return Cache group ID.
*/
- public int cacheId() {
- return cacheId;
+ public int groupId() {
+ return grpId;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 8ea9e46..c75f05c 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
@@ -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.name() +
", part=" + locPart + ']';
if (log.isDebugEnabled())
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 c7457c3..d15f069 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
@@ -394,13 +394,16 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
return cacheCtx != null && F.eq(cacheCtx.startTopologyVersion(), topVer);
}
+ public boolean cacheGroupStarting(int grpId) {
+ return exchActions != null && exchActions.cacheGroupStarting(grpId);
+ }
+
/**
* @param cacheId Cache ID.
* @return {@code True} if non-client cache was added during this exchange.
*/
public boolean cacheStarted(int cacheId) {
return exchActions != null && exchActions.cacheStarted(cacheId);
-
}
/**
@@ -943,20 +946,19 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
private void warnNoAffinityNodes() {
List<String> cachesWithoutNodes = null;
- for (DynamicCacheDescriptor cacheDesc : cctx.cache().cacheDescriptors()) {
- if (cacheDesc.startTopologyVersion().compareTo(topologyVersion()) <= 0 &&
- discoCache.cacheGroupAffinityNodes(cacheDesc.groupDescriptor().groupId()).isEmpty()) {
+ for (GridCacheContext ctx : cctx.cacheContexts()) {
+ if (discoCache.cacheGroupAffinityNodes(ctx.groupId()).isEmpty()) {
if (cachesWithoutNodes == null)
cachesWithoutNodes = new ArrayList<>();
- cachesWithoutNodes.add(cacheDesc.cacheName());
+ cachesWithoutNodes.add(ctx.name());
// Fire event even if there is no client cache started.
- if (cctx.gridEvents().isRecordable(EventType.EVT_CACHE_NODES_LEFT)) {
+ if (ctx.gridEvents().isRecordable(EventType.EVT_CACHE_NODES_LEFT)) {
Event evt = new CacheEvent(
- cacheDesc.cacheName(),
- cctx.localNode(),
- cctx.localNode(),
+ ctx.name(),
+ ctx.localNode(),
+ ctx.localNode(),
"All server nodes have left the cluster.",
EventType.EVT_CACHE_NODES_LEFT,
0,
@@ -973,7 +975,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
null
);
- cctx.gridEvents().record(evt);
+ ctx.gridEvents().record(evt);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index ec6e4af..3d62c2f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -44,8 +44,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
import org.apache.ignite.internal.processors.cache.GridCachePreloaderAdapter;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
-import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentRequest;
-import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtFuture;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
@@ -66,7 +64,6 @@ import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentLinkedDeque8;
import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_UNLOADED;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4afeba75/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 ba01844..ff20803 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
@@ -44,6 +44,8 @@ public class IgniteCacheGroupsTest extends GridCommonAbstractTest {
((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+ //cfg.setLateAffinityAssignment(false);
+
return cfg;
}