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 2015/12/24 14:44:07 UTC
ignite git commit: ignite-647
Repository: ignite
Updated Branches:
refs/heads/ignite-1537 0bb3f05bd -> 2c4612062
ignite-647
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2c461206
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2c461206
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2c461206
Branch: refs/heads/ignite-1537
Commit: 2c4612062583d8dfcbc1a0d2f526e151ba8c4886
Parents: 0bb3f05
Author: sboikov <sb...@gridgain.com>
Authored: Thu Dec 24 16:43:58 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu Dec 24 16:43:58 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheIoManager.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2c461206/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 0aa8b1b..2a555c1 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
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.managers.communication.GridMessageListener;
import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.distributed.dht.CacheGetFuture;
+import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareRequest;
@@ -122,6 +123,20 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
IgniteInternalFuture<?> fut = null;
if (cacheMsg.partitionExchangeMessage()) {
+ if (cacheMsg instanceof GridDhtAffinityAssignmentRequest) {
+ fut = cctx.exchange().affinityReadyFuture(new AffinityTopologyVersion(cctx.localNode().order()));
+
+ if (fut != null && !fut.isDone()) {
+ cctx.kernalContext().closure().runLocalSafe(new Runnable() {
+ @Override public void run() {
+ lsnr.onMessage(nodeId, cacheMsg);
+ }
+ });
+
+ return;
+ }
+ }
+
long locTopVer = cctx.discovery().topologyVersion();
long rmtTopVer = cacheMsg.topologyVersion().topologyVersion();