Repository: hadoop Updated Branches: refs/heads/branch-2 62d8536df -> 0f224d405
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/0f224d40 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0f224d40 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0f224d40 Branch: refs/heads/branch-2 Commit: 0f224d405f4ed0d0238851827c72e9a2a796aa65 Parents: 62d8536 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:23 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/0f224d40/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 daeb56e..61ff2e7 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/0f224d40/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 2417591..6f779c2 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 @@ -707,7 +707,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]
