1
0
Selaa lähdekoodia

MAPREDUCE-7351 - CleanupJob during handle of SIGTERM signal (#3176)

Co-authored-by: Shubham Gupta <gshubham@microsoft.com>
Shubham Gupta 3 vuotta sitten
vanhempi
commit
3f4221ec34

+ 13 - 0
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java

@@ -1714,6 +1714,19 @@ public class MRAppMaster extends CompositeService {
       }
       appMaster.notifyIsLastAMRetry(appMaster.isLastAMRetry);
       appMaster.stop();
+      try {
+        JobContext jobContext = appMaster
+                .getJobContextFromConf(appMaster.getConfig());
+        appMaster.committer.abortJob(jobContext, State.KILLED);
+      } catch (FileNotFoundException e) {
+          System.out.println("Previous job temporary " +
+                "files do not exist, no clean up was necessary.");
+      } catch (Exception e) {
+        // the clean up of a previous attempt is not critical to the success
+        // of this job - only logging the error
+        System.err.println("Error while trying to " +
+                "clean up previous job's temporary files" + e);
+      }
     }
   }