Repository: hadoop Updated Branches: refs/heads/branch-2.8 0a405c4f7 -> 558e53b10
HADOOP-13770. Shell.checkIsBashSupported swallowed an interrupted exception. Contributed by Wei-Chiu Chuang (cherry picked from commit c017171da00a6cd71a2901c84a0298ce14a49e23) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/558e53b1 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/558e53b1 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/558e53b1 Branch: refs/heads/branch-2.8 Commit: 558e53b10bc5b9c94f0d5917698fac0d719efb29 Parents: 0a405c4 Author: Jason Lowe <[email protected]> Authored: Fri Oct 28 14:57:50 2016 +0000 Committer: Jason Lowe <[email protected]> Committed: Fri Oct 28 15:06:57 2016 +0000 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/util/Shell.java | 6 ++++-- .../org/apache/hadoop/yarn/server/nodemanager/NodeManager.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/558e53b1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java index 3463d3f..8034e2a 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java @@ -734,8 +734,7 @@ public abstract class Shell { } } - public static final boolean isBashSupported = checkIsBashSupported(); - private static boolean checkIsBashSupported() { + public static boolean checkIsBashSupported() throws InterruptedIOException { if (Shell.WINDOWS) { return false; } @@ -746,6 +745,9 @@ public abstract class Shell { String[] args = {"bash", "-c", "echo 1000"}; shexec = new ShellCommandExecutor(args); shexec.execute(); + } catch (InterruptedIOException iioe) { + LOG.warn("Interrupted, unable to determine if bash is supported", iioe); + throw iioe; } catch (IOException ioe) { LOG.warn("Bash is not supported by the OS", ioe); supported = false; http://git-wip-us.apache.org/repos/asf/hadoop/blob/558e53b1/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java index 15907ee..a48b633 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java @@ -613,7 +613,7 @@ public class NodeManager extends CompositeService // Failed to start if we're a Unix based system but we don't have bash. // Bash is necessary to launch containers under Unix-based systems. if (!Shell.WINDOWS) { - if (!Shell.isBashSupported) { + if (!Shell.checkIsBashSupported()) { String message = "Failing NodeManager start since we're on a " + "Unix-based system but bash doesn't seem to be available."; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
