Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 36D8A1876E for ; Tue, 7 Jul 2015 11:26:47 +0000 (UTC) Received: (qmail 55025 invoked by uid 500); 7 Jul 2015 11:26:47 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 54993 invoked by uid 500); 7 Jul 2015 11:26:47 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 54984 invoked by uid 99); 7 Jul 2015 11:26:47 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jul 2015 11:26:47 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id AB19A1A6829 for ; Tue, 7 Jul 2015 11:26:46 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.791 X-Spam-Level: * X-Spam-Status: No, score=1.791 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id ND1PBOdoeH-1 for ; Tue, 7 Jul 2015 11:26:38 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with SMTP id 7C23824973 for ; Tue, 7 Jul 2015 11:26:38 +0000 (UTC) Received: (qmail 51335 invoked by uid 99); 7 Jul 2015 11:26:38 -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; Tue, 07 Jul 2015 11:26:38 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 09736E04C9; Tue, 7 Jul 2015 11:26:38 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.incubator.apache.org Date: Tue, 07 Jul 2015 11:26:38 -0000 Message-Id: <702959d12a4143eea6b6f91738460c48@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [2/6] incubator-ignite git commit: ignite-747: generic fix after the review ignite-747: generic fix after the review Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ee7f7215 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ee7f7215 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ee7f7215 Branch: refs/heads/ignite-747 Commit: ee7f7215b036306027c5af45d8af7e410a7bdd17 Parents: 51216ca Author: Denis Magda Authored: Tue Jul 7 14:08:58 2015 +0300 Committer: Denis Magda Committed: Tue Jul 7 14:08:58 2015 +0300 ---------------------------------------------------------------------- .../ignite/spi/discovery/tcp/ServerImpl.java | 19 ++++++++++++++++++- .../tcp/internal/TcpDiscoveryStatistics.java | 10 ++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee7f7215/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 701db69..d95ac3b 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 @@ -2855,9 +2855,26 @@ class ServerImpl extends TcpDiscoveryImpl { msg.verify(locNodeId); } + else if (!locNodeId.equals(node.id()) && ring.node(node.id()) != null) { + // Local node already has node from message in local topology. + // Just pass it to coordinator via the ring. + sendMessageAcrossRing(msg); + + if (log.isDebugEnabled()) + log.debug("Local node already has node being added. Passing TcpDiscoveryNodeAddedMessage to " + + "coordinator for final processing [ring=" + ring + ", node=" + node + ", locNode=" + + locNode + ", msg=" + msg + ']'); + + if (debugMode) + debugLog("Local node already has node being added. Passing TcpDiscoveryNodeAddedMessage to " + + "coordinator for final processing [ring=" + ring + ", node=" + node + ", locNode=" + + locNode + ", msg=" + msg + ']'); + + return; + } if (msg.verified() && !locNodeId.equals(node.id())) { - if (node.internalOrder() <= ring.maxInternalOrder() && spiState != STOPPING) { + if (node.internalOrder() <= ring.maxInternalOrder()) { if (log.isDebugEnabled()) log.debug("Discarding node added message since new node's order is less than " + "max order in ring [ring=" + ring + ", node=" + node + ", locNode=" + locNode + http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee7f7215/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java index da8c4ea..377d8a8 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java @@ -256,7 +256,10 @@ public class TcpDiscoveryStatistics { if (maxMsgQueueTime < duration) maxMsgQueueTime = duration; - avgMsgQueueTime = (avgMsgQueueTime * (totalReceivedMessages() -1)) / totalProcessedMessages(); + int totalProcMsgs = totalProcessedMessages(); + + if (totalProcMsgs != 0) + avgMsgQueueTime = (avgMsgQueueTime * (totalProcMsgs - 1)) / totalProcMsgs; } msgsProcStartTs.put(msg.id(), U.currentTimeMillis()); @@ -275,7 +278,10 @@ public class TcpDiscoveryStatistics { if (startTs != null) { long duration = U.currentTimeMillis() - startTs; - avgMsgProcTime = (avgMsgProcTime * (totalProcessedMessages() - 1) + duration) / totalProcessedMessages(); + int totalProcMsgs = totalProcessedMessages(); + + if (totalProcMsgs != 0) + avgMsgProcTime = (avgMsgProcTime * (totalProcMsgs - 1) + duration) / totalProcMsgs; if (duration > maxMsgProcTime) { maxMsgProcTime = duration;