YARN-6368. Decommissioning an NM results in a -1 exit code (miklos.szegedi@cloudera.com via rkanter)
This commit is contained in:
parent
d298f734a4
commit
63f7322522
|
@ -82,6 +82,24 @@ import com.google.common.annotations.VisibleForTesting;
|
|||
public class NodeManager extends CompositeService
|
||||
implements EventHandler<NodeManagerEvent> {
|
||||
|
||||
/**
|
||||
* Node manager return status codes.
|
||||
*/
|
||||
public enum NodeManagerStatus {
|
||||
NO_ERROR(0),
|
||||
EXCEPTION(1);
|
||||
|
||||
private int exitCode;
|
||||
|
||||
NodeManagerStatus(int exitCode) {
|
||||
this.exitCode = exitCode;
|
||||
}
|
||||
|
||||
public int getExitCode() {
|
||||
return exitCode;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Priority of the NodeManager shutdown hook.
|
||||
*/
|
||||
|
@ -421,7 +439,7 @@ public class NodeManager extends CompositeService
|
|||
return "NodeManager";
|
||||
}
|
||||
|
||||
protected void shutDown() {
|
||||
protected void shutDown(final int exitCode) {
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -432,7 +450,7 @@ public class NodeManager extends CompositeService
|
|||
} finally {
|
||||
if (shouldExitOnShutdownEvent
|
||||
&& !ShutdownHookManager.get().isShutdownInProgress()) {
|
||||
ExitUtil.terminate(-1);
|
||||
ExitUtil.terminate(exitCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -457,7 +475,7 @@ public class NodeManager extends CompositeService
|
|||
.rebootNodeStatusUpdaterAndRegisterWithRM();
|
||||
} catch (YarnRuntimeException e) {
|
||||
LOG.fatal("Error while rebooting NodeStatusUpdater.", e);
|
||||
shutDown();
|
||||
shutDown(NodeManagerStatus.EXCEPTION.getExitCode());
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
|
@ -744,7 +762,7 @@ public class NodeManager extends CompositeService
|
|||
public void handle(NodeManagerEvent event) {
|
||||
switch (event.getType()) {
|
||||
case SHUTDOWN:
|
||||
shutDown();
|
||||
shutDown(NodeManagerStatus.NO_ERROR.getExitCode());
|
||||
break;
|
||||
case RESYNC:
|
||||
resyncWithRM();
|
||||
|
|
|
@ -638,7 +638,7 @@ public class TestNodeManagerResync {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void shutDown() {
|
||||
protected void shutDown(int exitCode) {
|
||||
synchronized (isNMShutdownCalled) {
|
||||
isNMShutdownCalled.set(true);
|
||||
isNMShutdownCalled.notify();
|
||||
|
|
Loading…
Reference in New Issue