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 DDF87200B74 for ; Thu, 1 Sep 2016 17:50:11 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id DC914160AB7; Thu, 1 Sep 2016 15:50:11 +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 2EE2F160AA8 for ; Thu, 1 Sep 2016 17:50:11 +0200 (CEST) Received: (qmail 86012 invoked by uid 500); 1 Sep 2016 15:49:59 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 83511 invoked by uid 99); 1 Sep 2016 15:49:58 -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; Thu, 01 Sep 2016 15:49:58 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 01034E08BA; Thu, 1 Sep 2016 15:49:57 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aengineer@apache.org To: common-commits@hadoop.apache.org Date: Thu, 01 Sep 2016 15:50:29 -0000 Message-Id: <29128d9922304957ab75ca1adb1116d8@git.apache.org> In-Reply-To: <1cdd731f49434a9aa6a6de258aabbc95@git.apache.org> References: <1cdd731f49434a9aa6a6de258aabbc95@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [33/50] [abbrv] hadoop git commit: YARN-5567. Fix script exit code checking in NodeHealthScriptRunner#reportHealthStatus. (Yufei Gu via rchiang) archived-at: Thu, 01 Sep 2016 15:50:12 -0000 YARN-5567. Fix script exit code checking in NodeHealthScriptRunner#reportHealthStatus. (Yufei Gu via rchiang) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/05ede003 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/05ede003 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/05ede003 Branch: refs/heads/HDFS-7240 Commit: 05ede003868871addc30162e9707c3dc14ed6b7a Parents: 8b57be1 Author: Ray Chiang Authored: Mon Aug 29 15:55:33 2016 -0700 Committer: Ray Chiang Committed: Mon Aug 29 15:55:33 2016 -0700 ---------------------------------------------------------------------- .../java/org/apache/hadoop/util/NodeHealthScriptRunner.java | 3 ++- .../org/apache/hadoop/util/TestNodeHealthScriptRunner.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/05ede003/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NodeHealthScriptRunner.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NodeHealthScriptRunner.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NodeHealthScriptRunner.java index fc392c4..c3bef37 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NodeHealthScriptRunner.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NodeHealthScriptRunner.java @@ -106,6 +106,7 @@ public class NodeHealthScriptRunner extends AbstractService { shexec.execute(); } catch (ExitCodeException e) { // ignore the exit code of the script + exceptionStackTrace = StringUtils.stringifyException(e); status = HealthCheckerExitStatus.FAILED_WITH_EXIT_CODE; // On Windows, we will not hit the Stream closed IOException // thrown by stdout buffered reader for timeout event. @@ -162,7 +163,7 @@ public class NodeHealthScriptRunner extends AbstractService { setHealthStatus(false, exceptionStackTrace); break; case FAILED_WITH_EXIT_CODE: - setHealthStatus(true, "", now); + setHealthStatus(false, exceptionStackTrace); break; case FAILED: setHealthStatus(false, shexec.getOutput()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/05ede003/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestNodeHealthScriptRunner.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestNodeHealthScriptRunner.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestNodeHealthScriptRunner.java index 8fc64d1..db61f5a 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestNodeHealthScriptRunner.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestNodeHealthScriptRunner.java @@ -91,6 +91,7 @@ public class TestNodeHealthScriptRunner { public void testNodeHealthScript() throws Exception { String errorScript = "echo ERROR\n echo \"Tracker not healthy\""; String normalScript = "echo \"I am all fine\""; + String failWithExitCodeScript = "echo \"Not healthy\"; exit -1"; String timeOutScript = Shell.WINDOWS ? "@echo off\nping -n 4 127.0.0.1 >nul\necho \"I am fine\"" : "sleep 4\necho \"I am fine\""; @@ -124,6 +125,12 @@ public class TestNodeHealthScriptRunner { nodeHealthScriptRunner.isHealthy()); Assert.assertEquals("", nodeHealthScriptRunner.getHealthReport()); + // Script which fails with exit code. + writeNodeHealthScriptFile(failWithExitCodeScript, true); + timerTask.run(); + Assert.assertFalse("Node health status reported healthy", + nodeHealthScriptRunner.isHealthy()); + // Timeout script. writeNodeHealthScriptFile(timeOutScript, true); timerTask.run(); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org