From 52c8ac90eabf94cae576e916cc087db6739a7697 Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 7 Oct 2014 14:57:03 -0700 Subject: [PATCH] HADOOP-11172. Improve error message in Shell#runCommand on OutOfMemoryError. (Yongjun Zhang via wang) (cherry picked from commit 4b2834898cbcc66ffbf01b2fb10375e79a50d538) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../src/main/java/org/apache/hadoop/util/Shell.java | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index f90edb29dcc..4e7627f3f48 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -14,6 +14,9 @@ Release 2.7.0 - UNRELEASED HDFS-7186. Document the "hadoop trace" command. (Masatake Iwasaki via Colin P. McCabe) + Improve error message in Shell#runCommand on OutOfMemoryError. + (Yongjun Zhang via wang) + OPTIMIZATIONS BUG FIXES 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 fcdc021f4e4..b78d791d592 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 @@ -519,7 +519,13 @@ public void run() { }; try { errThread.start(); - } catch (IllegalStateException ise) { } + } catch (IllegalStateException ise) { + } catch (OutOfMemoryError oe) { + LOG.error("Caught " + oe + ". One possible reason is that ulimit" + + " setting of 'max user processes' is too low. If so, do" + + " 'ulimit -u ' and try again."); + throw oe; + } try { parseExecResult(inReader); // parse the output // clear the input stream buffer