MAPREDUCE-6418. MRApp should not shutdown LogManager during shutdown. Contributed by Chang Li

This commit is contained in:
Jason Lowe 2015-07-01 18:01:22 +00:00
parent 826715622e
commit eac1d18943
3 changed files with 29 additions and 3 deletions

View File

@ -527,6 +527,9 @@ Release 2.8.0 - UNRELEASED
MAPREDUCE-6420. Interrupted Exception in LocalContainerLauncher should be MAPREDUCE-6420. Interrupted Exception in LocalContainerLauncher should be
logged in warn/info level (Chang Li via jlowe) 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 Release 2.7.2 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -1197,11 +1197,15 @@ protected void serviceStart() throws Exception {
startJobs(); startJobs();
} }
} }
protected void shutdownTaskLog() {
TaskLog.syncLogsShutdown(logSyncer);
}
@Override @Override
public void stop() { public void stop() {
super.stop(); super.stop();
TaskLog.syncLogsShutdown(logSyncer); shutdownTaskLog();
} }
private boolean isRecoverySupported() throws IOException { private boolean isRecoverySupported() throws IOException {
@ -1705,10 +1709,14 @@ private static interface ExceptionAction<T> {
T call(Configuration conf) throws Exception; T call(Configuration conf) throws Exception;
} }
protected void shutdownLogManager() {
LogManager.shutdown();
}
@Override @Override
protected void serviceStop() throws Exception { protected void serviceStop() throws Exception {
super.serviceStop(); super.serviceStop();
LogManager.shutdown(); shutdownLogManager();
} }
public ClientService getClientService() { public ClientService getClientService() {

View File

@ -804,5 +804,20 @@ public static ContainerTokenIdentifier newContainerTokenIdentifier(
new Text(containerToken.getService())); new Text(containerToken.getService()));
return token.decodeIdentifier(); 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.
}
} }