Repository: ignite
Updated Branches:
  refs/heads/ignite-8783 [created] 87acce742


IGNITE-8783

Signed-off-by: Anton Vinogradov <[email protected]>


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

Branch: refs/heads/ignite-8783
Commit: 87acce74295d483e27794aee2c5e1493b665ee2a
Parents: 62df2d9
Author: Anton Vinogradov <[email protected]>
Authored: Fri Jul 13 15:38:26 2018 +0300
Committer: Anton Vinogradov <[email protected]>
Committed: Fri Jul 13 15:38:26 2018 +0300

----------------------------------------------------------------------
 .../dht/preloader/latch/ExchangeLatchManager.java    | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/87acce74/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/latch/ExchangeLatchManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/latch/ExchangeLatchManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/latch/ExchangeLatchManager.java
index 7e579cb..02649a1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/latch/ExchangeLatchManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/latch/ExchangeLatchManager.java
@@ -19,6 +19,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.la
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -46,7 +47,6 @@ import 
org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.T2;
-import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.lang.IgniteProductVersion;
 import org.jetbrains.annotations.Nullable;
@@ -187,8 +187,10 @@ public class ExchangeLatchManager {
                     + ", crd=" + coordinator
                     + ", participantsSize=" + participants.size() + "]");
 
+        Set<UUID> nodeIds = pendingAcks.get(latchId);
+
         // There is final ack for created latch.
-        if (pendingAcks.containsKey(latchId)) {
+        if (nodeIds != null && nodeIds.contains(coordinator)) {
             latch.complete();
             pendingAcks.remove(latchId);
         }
@@ -275,10 +277,11 @@ public class ExchangeLatchManager {
         Collection<ClusterNode> aliveNodes = aliveNodesForTopologyVer(topVer);
 
         return aliveNodes
-                .stream()
-                .filter(node -> node.version().compareTo(VERSION_SINCE) >= 0)
-                .findFirst()
-                .orElse(null);
+            .stream()
+            .filter(node -> node.version().compareTo(VERSION_SINCE) >= 0)
+            .sorted(Comparator.comparing(ClusterNode::order))
+            .findFirst()
+            .orElse(null);
     }
 
     /**

Reply via email to