From cf46533bcad14abeaed619a98da9dbbfd50187fa Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Thu, 3 May 2018 12:46:04 -0400 Subject: [PATCH] YARN-7973. Added ContainerRelaunch feature for Docker containers. Addendum patch 001 Contributed by Shane Kumpf --- .../linux/runtime/DockerLinuxContainerRuntime.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 a311207bae5..33fdbd302b5 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);