diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index c5fc8d85642..e7976ed3576 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -45,6 +45,9 @@ Release 2.4.1 - UNRELEASED BUG FIXES + HADOOP-10455. When there is an exception, ipc.Server should first check + whether it is an terse exception. (szetszwo) + Release 2.4.0 - 2014-04-07 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java index 2c7bdfc4310..7fb62f11212 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java @@ -2021,16 +2021,15 @@ public abstract class Server { if (e instanceof UndeclaredThrowableException) { e = e.getCause(); } - String logMsg = Thread.currentThread().getName() + ", call " + call + ": error: " + e; - if (e instanceof RuntimeException || e instanceof Error) { + String logMsg = Thread.currentThread().getName() + ", call " + call; + if (exceptionsHandler.isTerse(e.getClass())) { + // Don't log the whole stack trace. Way too noisy! + LOG.info(logMsg + ": " + e); + } else if (e instanceof RuntimeException || e instanceof Error) { // These exception types indicate something is probably wrong // on the server side, as opposed to just a normal exceptional // result. LOG.warn(logMsg, e); - } else if (exceptionsHandler.isTerse(e.getClass())) { - // Don't log the whole stack trace of these exceptions. - // Way too noisy! - LOG.info(logMsg); } else { LOG.info(logMsg, e); }