Repository: hadoop Updated Branches: refs/heads/trunk 31ff42b51 -> 7e3c327d3
YARN-4831. Recovered containers will be killed after NM stateful restart. Contributed by Siqi Li Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7e3c327d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7e3c327d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7e3c327d Branch: refs/heads/trunk Commit: 7e3c327d316b33d6a09bfd4e65e7e5384943bb1d Parents: 31ff42b Author: Jason Lowe <jl...@apache.org> Authored: Thu Oct 27 20:41:43 2016 +0000 Committer: Jason Lowe <jl...@apache.org> Committed: Thu Oct 27 20:42:52 2016 +0000 ---------------------------------------------------------------------- .../container/ContainerImpl.java | 24 ++++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7e3c327d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ContainerImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ContainerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ContainerImpl.java index 4bc0a0f..e6b9d9f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ContainerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ContainerImpl.java @@ -1506,16 +1506,20 @@ public class ContainerImpl implements Container { static class KillOnNewTransition extends ContainerDoneTransition { @Override public void transition(ContainerImpl container, ContainerEvent event) { - ContainerKillEvent killEvent = (ContainerKillEvent) event; - container.exitCode = killEvent.getContainerExitStatus(); - container.addDiagnostics(killEvent.getDiagnostic(), "\n"); - container.addDiagnostics("Container is killed before being launched.\n"); - container.metrics.killedContainer(); - NMAuditLogger.logSuccess(container.user, - AuditConstants.FINISH_KILLED_CONTAINER, "ContainerImpl", - container.containerId.getApplicationAttemptId().getApplicationId(), - container.containerId); - super.transition(container, event); + if (container.recoveredStatus == RecoveredContainerStatus.COMPLETED) { + container.sendFinishedEvents(); + } else { + ContainerKillEvent killEvent = (ContainerKillEvent) event; + container.exitCode = killEvent.getContainerExitStatus(); + container.addDiagnostics(killEvent.getDiagnostic(), "\n"); + container.addDiagnostics("Container is killed before being launched.\n"); + container.metrics.killedContainer(); + NMAuditLogger.logSuccess(container.user, + AuditConstants.FINISH_KILLED_CONTAINER, "ContainerImpl", + container.containerId.getApplicationAttemptId().getApplicationId(), + container.containerId); + super.transition(container, event); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org