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); } /**
