Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B02BD200C60 for ; Mon, 24 Apr 2017 17:03:28 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id AED15160BBB; Mon, 24 Apr 2017 15:03:28 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 09457160BC7 for ; Mon, 24 Apr 2017 17:03:26 +0200 (CEST) Received: (qmail 15184 invoked by uid 500); 24 Apr 2017 15:03:26 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 14176 invoked by uid 99); 24 Apr 2017 15:03:25 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2017 15:03:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 71EAEE178B; Mon, 24 Apr 2017 15:03:25 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Mon, 24 Apr 2017 15:03:49 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [26/50] [abbrv] ignite git commit: ignite-3054 - Small fixes archived-at: Mon, 24 Apr 2017 15:03:28 -0000 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 Authored: Mon Dec 12 10:25:39 2016 +0300 Committer: dkarachentsev 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); } }