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 <[email protected]> Authored: Thu Dec 24 16:43:58 2015 +0300 Committer: sboikov <[email protected]> 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();
