commit cf46533bcad14abeaed619a98da9dbbfd50187fa Author: Eric Yang Date: Thu May 3 12:46:04 2018 -0400 YARN-7973. Added ContainerRelaunch feature for Docker containers. Addendum patch 001 Contributed by Shane Kumpf 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/linux/runtime/DockerLinuxContainerRuntime.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java index a311207..33fdbd3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java @@ -924,17 +924,17 @@ public void launchContainer(ContainerRuntimeContext ctx) @Override public void relaunchContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException { - Container container = ctx.getContainer(); - String containerIdStr = container.getContainerId().toString(); + ContainerId containerId = ctx.getContainer().getContainerId(); + String containerIdStr = containerId.toString(); // Check to see if the container already exists for relaunch DockerCommandExecutor.DockerContainerStatus containerStatus = DockerCommandExecutor.getContainerStatus(containerIdStr, conf, - privilegedOperationExecutor); + privilegedOperationExecutor, nmContext); if (containerStatus != null && DockerCommandExecutor.isStartable(containerStatus)) { DockerStartCommand startCommand = new DockerStartCommand(containerIdStr); String commandFile = dockerClient.writeCommandToTempFile(startCommand, - containerIdStr); + containerId, nmContext); PrivilegedOperation launchOp = buildLaunchOp(ctx, commandFile, startCommand);