You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/02/14 13:32:39 UTC
ignite git commit: Merge remote-tracking branch
'remotes/origin/master' into ignite-3727-2
Repository: ignite
Updated Branches:
refs/heads/ignite-3727-2 68f2d38e3 -> e7196af1e
Merge remote-tracking branch 'remotes/origin/master' into ignite-3727-2
# Conflicts:
# modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/HadoopShuffle.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e7196af1
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e7196af1
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e7196af1
Branch: refs/heads/ignite-3727-2
Commit: e7196af1ee7f085b9d1a6a40159445aa5105dbb1
Parents: 68f2d38
Author: sboikov <sb...@gridgain.com>
Authored: Tue Feb 14 16:31:13 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Feb 14 16:32:35 2017 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/IgniteMessaging.java | 19 ++++++++++---------
.../managers/communication/GridIoManager.java | 7 +++++--
...gniteMessagingConfigVariationFullApiTest.java | 4 ++--
3 files changed, 17 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7196af1/modules/core/src/main/java/org/apache/ignite/IgniteMessaging.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteMessaging.java b/modules/core/src/main/java/org/apache/ignite/IgniteMessaging.java
index d769eb2f..e64ded5 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteMessaging.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteMessaging.java
@@ -77,9 +77,10 @@ public interface IgniteMessaging extends IgniteAsyncSupport {
/**
* Sends given message with specified topic to the nodes in the underlying cluster group.
- * When you invoke method, all listeners who were registered on topic in the local node, will executing in
- * the same thread by default, or if you use {@link #withAsync()}, listeners will execute
- * through thread pool, and current thread will not be block.
+ * <p>
+ * By default all local listeners will be executed in the calling thread, or if you use
+ * {@link #withAsync()}, listeners will execute in public thread pool (in this case it is user's
+ * responsibility to implement back-pressure and limit number of concurrently executed async messages).
*
* @param topic Topic to send to, {@code null} for default topic.
* @param msg Message to send.
@@ -90,9 +91,10 @@ public interface IgniteMessaging extends IgniteAsyncSupport {
/**
* Sends given messages with the specified topic to the nodes in the underlying cluster group.
- * When you invoke method, all listeners who were registered on topic in the local node, will executing
- * in the same thread by default, or if you use {@link #withAsync()}, listeners will execute
- * through thread pool, and current thread will not be block.
+ * <p>
+ * By default all local listeners will be executed in the calling thread, or if you use
+ * {@link #withAsync()}, listeners will execute in public thread pool (in this case it is user's
+ * responsibility to implement back-pressure and limit number of concurrently executed async messages).
*
* @param topic Topic to send to, {@code null} for default topic.
* @param msgs Messages to send. Order of the sending is undefined. If the method produces
@@ -105,9 +107,8 @@ public interface IgniteMessaging extends IgniteAsyncSupport {
/**
* Sends given message with specified topic to the nodes in the underlying cluster group. Messages sent with
* this method will arrive in the same order they were sent. Note that if a topic is used
- * for ordered messages, then it cannot be reused for non-ordered messages. Note if you have local listener
- * on this topic, all messages will process through thread pool, and current thread will never be blocked
- * when you invoke sendOrdered, no matter which mode you used (default or {@link #withAsync()}).
+ * for ordered messages, then it cannot be reused for non-ordered messages. Note that local listeners
+ * are always executed in public thread pool, no matter default or {@link #withAsync()} mode is used.
* <p>
* The {@code timeout} parameter specifies how long an out-of-order message will stay in a queue,
* waiting for messages that are ordered ahead of it to arrive. If timeout expires, then all ordered
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7196af1/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 50a4efe..84b4543 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
@@ -1238,7 +1238,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
* @param timeout Timeout.
* @param skipOnTimeout Whether message can be skipped on timeout.
* @param ackC Ack closure.
- * @param async Async flag.
+ * @param async If {@code true} message for local node will be processed in pool, otherwise in current thread.
* @throws IgniteCheckedException Thrown in case of any errors.
*/
private void send(
@@ -1269,8 +1269,11 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
if (ordered)
processOrderedMessage(locNodeId, ioMsg, plc, null);
- else if (async)
+ else if (async) {
+ assert msg instanceof GridIoUserMessage : ioMsg; // Async execution was added only for IgniteMessaging.
+
processRegularMessage(locNodeId, ioMsg, plc, null);
+ }
else
processRegularMessage0(ioMsg, locNodeId);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7196af1/modules/core/src/test/java/org/apache/ignite/internal/processors/messaging/IgniteMessagingConfigVariationFullApiTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/messaging/IgniteMessagingConfigVariationFullApiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/messaging/IgniteMessagingConfigVariationFullApiTest.java
index c6b46d2..49aab10 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/messaging/IgniteMessagingConfigVariationFullApiTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/messaging/IgniteMessagingConfigVariationFullApiTest.java
@@ -136,7 +136,7 @@ public class IgniteMessagingConfigVariationFullApiTest extends IgniteConfigVaria
runInAllDataModes(new TestRunnable() {
@Override public void run() throws Exception {
- clientClientMessage(false);
+ clientClientMessage(true);
}
});
}
@@ -240,7 +240,7 @@ public class IgniteMessagingConfigVariationFullApiTest extends IgniteConfigVaria
runInAllDataModes(new TestRunnable() {
@Override public void run() throws Exception {
- clientClientOrderedMessage(true);
+ clientClientOrderedMessage(false);
}
});
}