commit 891a2f2c9d2fe9952181cc57a07d1aab2e07143d Author: Gera Shegalov Date: Wed Oct 8 17:53:29 2014 -0700 YARN-2377.v02.patch diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/SerializedException.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/SerializedException.java index aba54d4..9355a23 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/SerializedException.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/SerializedException.java @@ -90,4 +90,22 @@ public static SerializedException newInstance(Throwable e) { @Private @Unstable public abstract Throwable deSerialize(); + + private void stringify(StringBuilder sb) { + sb.append(getMessage()) + .append("\n") + .append(getRemoteTrace()); + final SerializedException cause = getCause(); + if (cause != null) { + sb.append("Caused by: "); + cause.stringify(sb); + } + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(128); + stringify(sb); + return sb.toString(); + } } \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index c2dcebf..d3b33e8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -1008,12 +1008,12 @@ LocalizerHeartbeatResponse update( response.setLocalizerAction(LocalizerAction.LIVE); break; case FETCH_FAILURE: - LOG.info("DEBUG: FAILED " + req - + ", " + stat.getException().getMessage()); + final String diagnostics = stat.getException().toString(); + LOG.warn(req + " failed: " + diagnostics); response.setLocalizerAction(LocalizerAction.DIE); getLocalResourcesTracker(req.getVisibility(), user, applicationId) .handle(new ResourceFailedLocalizationEvent( - req, stat.getException().getMessage())); + req, diagnostics)); // unlocking the resource and removing it from scheduled resource // list