diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index c66535d1b63..cc4bb9cfaec 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -85,6 +85,9 @@ Release 2.8.0 - UNRELEASED MAPREDUCE-6392. Document mapred class path options. (Brahma Reddy Battula via cnauroth) + MAPREDUCE-6395. Improve the commit failure messages in MRAppMaster recovery. + (Brahma Reddy Battula via gera) + OPTIMIZATIONS BUG FIXES diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java index 942e25b8a88..fb73eba08d6 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java @@ -331,14 +331,20 @@ protected void serviceInit(final Configuration conf) throws Exception { " because a commit was started."); copyHistory = true; if (commitSuccess) { - shutDownMessage = "We crashed after successfully committing. Recovering."; + shutDownMessage = + "Job commit succeeded in a prior MRAppMaster attempt " + + "before it crashed. Recovering."; forcedState = JobStateInternal.SUCCEEDED; } else if (commitFailure) { - shutDownMessage = "We crashed after a commit failure."; + shutDownMessage = + "Job commit failed in a prior MRAppMaster attempt " + + "before it crashed. Not retrying."; forcedState = JobStateInternal.FAILED; } else { //The commit is still pending, commit error - shutDownMessage = "We crashed durring a commit"; + shutDownMessage = + "Job commit from a prior MRAppMaster attempt is " + + "potentially in progress. Preventing multiple commit executions"; forcedState = JobStateInternal.ERROR; } } @@ -564,7 +570,7 @@ public void shutDownJob() { //if isLastAMRetry comes as true, should never set it to false if ( !isLastAMRetry){ if (((JobImpl)job).getInternalState() != JobStateInternal.REBOOT) { - LOG.info("We are finishing cleanly so this is the last retry"); + LOG.info("Job finished cleanly, recording last MRAppMaster retry"); isLastAMRetry = true; } }