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 1373317CC8 for ; Wed, 22 Apr 2015 15:14:21 +0000 (UTC) Received: (qmail 38662 invoked by uid 500); 22 Apr 2015 15:14:21 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 38621 invoked by uid 500); 22 Apr 2015 15:14:21 -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 38571 invoked by uid 99); 22 Apr 2015 15:14:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Apr 2015 15:14:20 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [54.191.145.13] (HELO mx1-us-west.apache.org) (54.191.145.13) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Apr 2015 15:14:16 +0000 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 2D009251C9 for ; Wed, 22 Apr 2015 15:13:56 +0000 (UTC) Received: (qmail 37370 invoked by uid 99); 22 Apr 2015 15:13:56 -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; Wed, 22 Apr 2015 15:13:56 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E66CCE0252; Wed, 22 Apr 2015 15:13:55 +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: Wed, 22 Apr 2015 15:13:56 -0000 Message-Id: <8e02a21eaa3b4d208ce7fd1cc58add24@git.apache.org> In-Reply-To: <7ef3f9f14377432ba54e5b3f7d517f13@git.apache.org> References: <7ef3f9f14377432ba54e5b3f7d517f13@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/6] incubator-ignite git commit: minor - added busy lock for tryFailNode() X-Virus-Checked: Checked by ClamAV on apache.org minor - added busy lock for tryFailNode() Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/19e343c6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/19e343c6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/19e343c6 Branch: refs/heads/ignite-774 Commit: 19e343c6576e029dea81c9fbf9a6a6e6f1f23de9 Parents: 702f172 Author: Yakov Zhdanov Authored: Wed Apr 22 16:07:23 2015 +0300 Committer: Yakov Zhdanov Committed: Wed Apr 22 16:07:23 2015 +0300 ---------------------------------------------------------------------- .../managers/discovery/GridDiscoveryManager.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/19e343c6/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index 11fa261..f6be4ed 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -1404,13 +1404,21 @@ public class GridDiscoveryManager extends GridManagerAdapter { * @return Whether node is failed. */ public boolean tryFailNode(UUID nodeId) { - if (!getSpi().pingNode(nodeId)) { - getSpi().failNode(nodeId); + if (!busyLock.enterBusy()) + return false; - return true; - } + try { + if (!getSpi().pingNode(nodeId)) { + getSpi().failNode(nodeId); + + return true; + } - return false; + return false; + } + finally { + busyLock.leaveBusy(); + } } /**