Repository: ignite
Updated Branches:
  refs/heads/ignite-1537 cb5bde5af -> 820a13afa


ignite-1.5 Fixed hang on metadata update inside put in atomic cache when 
topology read lock is held.


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

Branch: refs/heads/ignite-1537
Commit: 820a13afaab84f571d6baf89ca08201edd40987c
Parents: cb5bde5
Author: sboikov <[email protected]>
Authored: Tue Dec 22 12:32:53 2015 +0300
Committer: sboikov <[email protected]>
Committed: Tue Dec 22 12:32:53 2015 +0300

----------------------------------------------------------------------
 .../distributed/dht/atomic/GridNearAtomicUpdateFuture.java    | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/820a13af/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 3d63f8f..7f256bb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -48,6 +48,7 @@ import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopolo
 import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearAtomicCache;
 import org.apache.ignite.internal.processors.cache.dr.GridCacheDrInfo;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.apache.ignite.internal.util.future.GridFinishedFuture;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.CI1;
@@ -775,7 +776,11 @@ public class GridNearAtomicUpdateFuture extends 
GridFutureAdapter<Object>
                     return;
                 }
 
-                IgniteInternalFuture<AffinityTopologyVersion> fut = 
cctx.affinity().affinityReadyFuture(remapTopVer);
+                IgniteInternalFuture<AffinityTopologyVersion> fut =
+                    cctx.shared().exchange().affinityReadyFuture(remapTopVer);
+
+                if (fut == null)
+                    fut = new GridFinishedFuture<>(remapTopVer);
 
                 fut.listen(new 
CI1<IgniteInternalFuture<AffinityTopologyVersion>>() {
                     @Override public void apply(final 
IgniteInternalFuture<AffinityTopologyVersion> fut) {

Reply via email to