YARN-6368. Decommissioning an NM results in a -1 exit code (miklos.szegedi@cloudera.com via rkanter)
(cherry picked from commit 63f7322522e0ab223ceb91440636eb62ca0a3e41)
This commit is contained in:
parent
c85026038a
commit
cbb1c76195
@ -80,6 +80,24 @@
|
||||
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.
|
||||
*/
|
||||
@ -408,7 +426,7 @@ public String getName() {
|
||||
return "NodeManager";
|
||||
}
|
||||
|
||||
protected void shutDown() {
|
||||
protected void shutDown(final int exitCode) {
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -419,7 +437,7 @@ public void run() {
|
||||
} finally {
|
||||
if (shouldExitOnShutdownEvent
|
||||
&& !ShutdownHookManager.get().isShutdownInProgress()) {
|
||||
ExitUtil.terminate(-1);
|
||||
ExitUtil.terminate(exitCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -444,7 +462,7 @@ public void run() {
|
||||
.rebootNodeStatusUpdaterAndRegisterWithRM();
|
||||
} catch (YarnRuntimeException e) {
|
||||
LOG.fatal("Error while rebooting NodeStatusUpdater.", e);
|
||||
shutDown();
|
||||
shutDown(NodeManagerStatus.EXCEPTION.getExitCode());
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
@ -700,7 +718,7 @@ private void initAndStartNodeManager(Configuration conf, boolean hasToReboot) {
|
||||
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 int getNMRegistrationCount() {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void shutDown() {
|
||||
protected void shutDown(int exitCode) {
|
||||
synchronized (isNMShutdownCalled) {
|
||||
isNMShutdownCalled.set(true);
|
||||
isNMShutdownCalled.notify();
|
||||
|
Loading…
x
Reference in New Issue
Block a user