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

(cherry picked from commit eac1d18943)
This commit is contained in:
Jason Lowe 2015-07-01 18:01:22 +00:00
parent f3195eda27
commit 8a4970e845
3 changed files with 29 additions and 3 deletions

View File

@ -260,6 +260,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

@ -1178,11 +1178,15 @@ public class MRAppMaster extends CompositeService {
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 {
@ -1686,10 +1690,14 @@ public class MRAppMaster extends CompositeService {
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

@ -802,5 +802,20 @@ public class MRApp extends MRAppMaster {
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.
}
} }