Repository: hadoop Updated Branches: refs/heads/trunk 1770bb942 -> a56ea0100
YARN-2377. Localization exception stack traces are not passed as diagnostic info. Contributed by Gera Shegalov Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a56ea010 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a56ea010 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a56ea010 Branch: refs/heads/trunk Commit: a56ea0100215ecf2e1471a18812b668658197239 Parents: 1770bb9 Author: Jason Lowe <[email protected]> Authored: Mon Oct 13 18:31:16 2014 +0000 Committer: Jason Lowe <[email protected]> Committed: Mon Oct 13 18:31:16 2014 +0000 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../yarn/api/records/SerializedException.java | 18 ++++++++++++++++++ .../localizer/ResourceLocalizationService.java | 6 +++--- 3 files changed, 24 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a56ea010/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 782cd13..03b3505 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -633,6 +633,9 @@ Release 2.6.0 - UNRELEASED YARN-2651. Spun off LogRollingInterval from LogAggregationContext. (Xuan Gong via zjshen) + YARN-2377. Localization exception stack traces are not passed as + diagnostic info (Gera Shegalov via jlowe) + Release 2.5.1 - 2014-09-05 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/a56ea010/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/SerializedException.java ---------------------------------------------------------------------- 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 abstract class SerializedException { @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 http://git-wip-us.apache.org/repos/asf/hadoop/blob/a56ea010/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 ---------------------------------------------------------------------- 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 @@ public class ResourceLocalizationService extends CompositeService 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
