commit 041c2704cfdb6e65e391e576f251b59e1ed58b0b Author: Eric Yang Date: Mon Feb 25 17:44:42 2019 -0500 YARN-8805. Add ability to use space as delimiter in launch command. Contributed by Eric Yang diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java index 6027a66..11145d8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/docker/DockerProviderService.java @@ -32,6 +32,7 @@ import org.apache.hadoop.yarn.api.ApplicationConstants.Environment; import java.io.IOException; +import java.util.HashMap; import java.util.Map; public class DockerProviderService extends AbstractProviderService @@ -84,6 +85,12 @@ public void buildContainerLaunchCommand(AbstractLauncher launcher, if (useEntryPoint) { String launchCommand = compLaunchContext.getLaunchCommand(); if (!StringUtils.isEmpty(launchCommand)) { + if(launchCommand.contains(" ")) { + HashMap delimiter = new HashMap(); + delimiter.put(" ", ","); + launchCommand = ProviderUtils + .substituteStrWithTokens(launchCommand, delimiter); + } launcher.addCommand(launchCommand); } } else {