Browse Source

YARN-9125. Fixed Carriage Return detection in Docker container launch.
Contributed by Billie Rinaldi

Eric Yang 6 years ago
parent
commit
2ffd8487b4

+ 4 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/docker/DockerClient.java

@@ -81,13 +81,13 @@ public final class DockerClient {
               "'=' found in entry for docker command file, key = " + entry
                   .getKey() + "; value = " + entry.getValue());
         }
-        if (entry.getValue().contains("\n")) {
+        String value = StringUtils.join(",", entry.getValue());
+        if (value.contains("\n")) {
           throw new ContainerExecutionException(
               "'\\n' found in entry for docker command file, key = " + entry
-                  .getKey() + "; value = " + entry.getValue());
+                  .getKey() + "; value = " + value);
         }
-        printWriter.println("  " + entry.getKey() + "=" + StringUtils
-            .join(",", entry.getValue()));
+        printWriter.println("  " + entry.getKey() + "=" + value);
       }
       printWriter.close();