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/04/24 15:03:49 UTC
[26/50] [abbrv] ignite git commit: ignite-3054 - Small fixes
ignite-3054 - Small fixes
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3d218098
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3d218098
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3d218098
Branch: refs/heads/ignite-3054
Commit: 3d21809857ccb7352918ceaee549e491c678e0bc
Parents: d46f0ac
Author: dkarachentsev <dk...@gridgain.com>
Authored: Mon Dec 12 10:25:39 2016 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Dec 12 10:25:39 2016 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ClientImpl.java | 18 +++++++++++++++++-
.../ignite/spi/discovery/tcp/ServerImpl.java | 2 ++
2 files changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3d218098/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 00cba42..f3b9ba7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -969,6 +969,8 @@ class ClientImpl extends TcpDiscoveryImpl {
boolean ack = msg instanceof TcpDiscoveryClientAckResponse;
+ sockWriter.messageReceived();
+
if (!ack)
msgWorker.addMessage(msg);
else
@@ -1020,6 +1022,9 @@ class ClientImpl extends TcpDiscoveryImpl {
/** */
private boolean writeLen;
+ /** */
+ private volatile long lastMsgReceived;
+
/**
*
*/
@@ -1084,6 +1089,13 @@ class ClientImpl extends TcpDiscoveryImpl {
}
}
+ /**
+ * Updates timeout when message received.
+ */
+ void messageReceived() {
+ lastMsgReceived = U.currentTimeMillis();
+ }
+
/** {@inheritDoc} */
@Override protected void body() throws InterruptedException {
TcpDiscoveryAbstractMessage msg = null;
@@ -1138,9 +1150,13 @@ class ClientImpl extends TcpDiscoveryImpl {
TcpDiscoveryAbstractMessage unacked;
synchronized (mux) {
- while (unackedMsg != null && U.currentTimeMillis() < waitEnd)
+ while (unackedMsg != null && U.currentTimeMillis() < waitEnd) {
mux.wait(waitEnd);
+ waitEnd = lastMsgReceived + (spi.failureDetectionTimeoutEnabled() ?
+ spi.failureDetectionTimeout() : spi.getAckTimeout());
+ }
+
unacked = unackedMsg;
unackedMsg = null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/3d218098/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index e1798b5..0e92de5 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -7777,6 +7777,8 @@ class ServerImpl extends TcpDiscoveryImpl {
}
}
+ nioSem.drainPermits();
+
nioSem.tryAcquire(1000, TimeUnit.MILLISECONDS);
}
}