From 502914ca32ac02b19116fd681eb8301b92fccbb3 Mon Sep 17 00:00:00 2001 From: Billie Rinaldi Date: Fri, 4 May 2018 08:53:55 -0700 Subject: [PATCH] YARN-7818. Remove privileged operation warnings during container launch for the ContainerRuntimes. Contributed by Shane Kumpf --- .../runtime/DefaultLinuxContainerRuntime.java | 5 +++-- .../linux/runtime/DockerLinuxContainerRuntime.java | 14 +++++++------- 2 files changed, 10 insertions(+), 9 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/DefaultLinuxContainerRuntime.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/DefaultLinuxContainerRuntime.java index d8db6adecc..b5c933aff2 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/DefaultLinuxContainerRuntime.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/DefaultLinuxContainerRuntime.java @@ -108,6 +108,9 @@ public void launchContainer(ContainerRuntimeContext ctx) launchOp.appendArgs(tcCommandFile); } + // Some failures here are acceptable. Let the calling executor decide. + launchOp.disableFailureLogging(); + //List -> stored as List -> fetched/converted to List //we can't do better here thanks to type-erasure @SuppressWarnings("unchecked") @@ -118,8 +121,6 @@ public void launchContainer(ContainerRuntimeContext ctx) privilegedOperationExecutor.executePrivilegedOperation(prefixCommands, launchOp, null, null, false, false); } catch (PrivilegedOperationException e) { - LOG.warn("Launch container failed. Exception: ", e); - throw new ContainerExecutionException("Launch container failed", e .getExitCode(), e.getOutput(), e.getErrorOutput()); } 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 ec1d055668..0bacd03a5f 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 @@ -914,13 +914,13 @@ public void launchContainer(ContainerRuntimeContext ctx) PrivilegedOperation launchOp = buildLaunchOp(ctx, commandFile, runCommand); + // Some failures here are acceptable. Let the calling executor decide. + launchOp.disableFailureLogging(); + try { privilegedOperationExecutor.executePrivilegedOperation(null, launchOp, null, null, false, false); } catch (PrivilegedOperationException e) { - LOG.warn("Launch container failed. Exception: ", e); - LOG.info("Docker command used: " + runCommand); - throw new ContainerExecutionException("Launch container failed", e .getExitCode(), e.getOutput(), e.getErrorOutput()); } @@ -943,14 +943,14 @@ public void relaunchContainer(ContainerRuntimeContext ctx) PrivilegedOperation launchOp = buildLaunchOp(ctx, commandFile, startCommand); + // Some failures here are acceptable. Let the calling executor decide. + launchOp.disableFailureLogging(); + try { privilegedOperationExecutor.executePrivilegedOperation(null, launchOp, null, null, false, false); } catch (PrivilegedOperationException e) { - LOG.warn("Relaunch container failed. Exception: ", e); - LOG.info("Docker command used: " + startCommand); - - throw new ContainerExecutionException("Launch container failed", e + throw new ContainerExecutionException("Relaunch container failed", e .getExitCode(), e.getOutput(), e.getErrorOutput()); } } else {