ignite-sql-tests - local io
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0a084f65 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0a084f65 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0a084f65 Branch: refs/heads/ignite-sql-tests Commit: 0a084f65ae9d837ba43a50a2e73a84b09f43ee0a Parents: 2923085 Author: S.Vladykin <svlady...@gridgain.com> Authored: Mon Mar 2 16:50:04 2015 +0300 Committer: S.Vladykin <svlady...@gridgain.com> Committed: Mon Mar 2 16:50:04 2015 +0300 ---------------------------------------------------------------------- .../internal/managers/communication/GridIoManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0a084f65/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java index 968e93a..d8a609a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java @@ -1168,11 +1168,13 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa Collection<? extends ClusterNode> rmtNodes = F.view(nodes, F.remoteNodes(locNodeId)); - if (locNode != null) - send(locNode, TOPIC_COMM_USER, ioMsg, PUBLIC_POOL); - if (!rmtNodes.isEmpty()) send(rmtNodes, TOPIC_COMM_USER, ioMsg, PUBLIC_POOL); + + // Will call local listeners in current thread synchronously, so must go the last + // to allow remote nodes execute the requested operation in parallel. + if (locNode != null) + send(locNode, TOPIC_COMM_USER, ioMsg, PUBLIC_POOL); } }