Moved updatePartitionSingleMap(...) outside of synchronized block.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f2c9d6cd Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f2c9d6cd Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f2c9d6cd Branch: refs/heads/ignite-gg-8.0.3.ea6-clients-test Commit: f2c9d6cd0f22974aa4e1db99cd519a954b18dd4c Parents: c540206 Author: Ilya Lantukh <[email protected]> Authored: Mon Apr 10 19:00:02 2017 +0300 Committer: Ilya Lantukh <[email protected]> Committed: Mon Apr 10 19:00:02 2017 +0300 ---------------------------------------------------------------------- .../dht/preloader/GridDhtPartitionsExchangeFuture.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/f2c9d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 28ecacb..b0d776f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -1532,13 +1532,14 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT */ private void processMessage(ClusterNode node, GridDhtPartitionsSingleMessage msg) { boolean allReceived = false; + boolean updateSingleMap = false; synchronized (mux) { assert crd != null; if (crd.isLocal()) { if (remaining.remove(node.id())) { - updatePartitionSingleMap(node, msg); + updateSingleMap = true; if (exchangeOnChangeGlobalState && msg.getException() != null) changeGlobalStateExceptions.put(node.id(), msg.getException()); @@ -1550,6 +1551,9 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT singleMsgs.put(node, msg); } + if (updateSingleMap) + updatePartitionSingleMap(node, msg); + if (allReceived) onAllReceived(); }
