diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 47998b94cee..7b21dd7718d 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -260,6 +260,9 @@ Release 2.8.0 - UNRELEASED MAPREDUCE-6420. Interrupted Exception in LocalContainerLauncher should be logged in warn/info level (Chang Li via jlowe) + MAPREDUCE-6418. MRApp should not shutdown LogManager during shutdown + (Chang Li via jlowe) + Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES 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 fb73eba08d6..2dcb3c86d93 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 @@ -1178,11 +1178,15 @@ public class MRAppMaster extends CompositeService { startJobs(); } } - + + protected void shutdownTaskLog() { + TaskLog.syncLogsShutdown(logSyncer); + } + @Override public void stop() { super.stop(); - TaskLog.syncLogsShutdown(logSyncer); + shutdownTaskLog(); } private boolean isRecoverySupported() throws IOException { @@ -1686,10 +1690,14 @@ public class MRAppMaster extends CompositeService { T call(Configuration conf) throws Exception; } + protected void shutdownLogManager() { + LogManager.shutdown(); + } + @Override protected void serviceStop() throws Exception { super.serviceStop(); - LogManager.shutdown(); + shutdownLogManager(); } public ClientService getClientService() { diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/MRApp.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/MRApp.java index 14b4c2da7f6..b1cec75d05d 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/MRApp.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/MRApp.java @@ -802,5 +802,20 @@ public class MRApp extends MRAppMaster { new Text(containerToken.getService())); return token.decodeIdentifier(); } + + @Override + protected void shutdownTaskLog() { + // Avoid closing the logging system during unit tests, + // otherwise subsequent MRApp instances in the same test + // will fail to log anything. + } + + @Override + protected void shutdownLogManager() { + // Avoid closing the logging system during unit tests, + // otherwise subsequent MRApp instances in the same test + // will fail to log anything. + } + }