You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/03/02 15:04:36 UTC

[47/50] [abbrv] incubator-ignite git commit: ignite-sql-tests - local io

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 <sv...@gridgain.com>
Authored: Mon Mar 2 16:50:04 2015 +0300
Committer: S.Vladykin <sv...@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);
         }
     }