You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Daniel Templeton (JIRA)" <ji...@apache.org> on 2016/10/27 23:02:58 UTC
[jira] [Commented] (YARN-5793) Trim configuration values in
DockerLinuxContainerRuntime
[ https://issues.apache.org/jira/browse/YARN-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15613568#comment-15613568 ]
Daniel Templeton commented on YARN-5793:
----------------------------------------
Makes sense to me. Wanna go ahead with posting those changes as a patch?
> Trim configuration values in DockerLinuxContainerRuntime
> --------------------------------------------------------
>
> Key: YARN-5793
> URL: https://issues.apache.org/jira/browse/YARN-5793
> Project: Hadoop YARN
> Issue Type: Bug
> Components: nodemanager
> Affects Versions: 3.0.0-alpha1
> Reporter: Tianyin Xu
> Priority: Minor
> Attachments: YARN-5793.0000.patch
>
>
> The current implementation of {{DockerLinuxContainerRuntime}} does not follow the practice of trimming configuration values. This leads to errors if users set values containing space or newline.
> see the following YARN commits as reference:
> YARN-3395. FairScheduler: Trim whitespaces when using username for queuename.
> YARN-2869. CapacityScheduler should trim sub queue names when parse configuration.
> YARN-2843. Fixed NodeLabelsManager to trim inputs for hosts and labels so as to make them work correctly.
> and many other Hadoop/HDFS commits (just list a few):
> HDFS-9708. FSNamesystem.initAuditLoggers() doesn't trim classnames
> HDFS-2799. Trim fs.checkpoint.dir values.
> HADOOP-6578. Configuration should trim whitespace around a lot of value types
> HADOOP-6534. Trim whitespace from directory lists initializing
> Patch is available against trunk
> {code:title=DockerLinuxContainerRuntime.java|borderStyle=solid}
> @@ -219,9 +219,9 @@ public void initialize(Configuration conf)
> dockerClient = new DockerClient(conf);
> allowedNetworks.clear();
> allowedNetworks.addAll(Arrays.asList(
> - conf.getStrings(YarnConfiguration.NM_DOCKER_ALLOWED_CONTAINER_NETWORKS,
> + conf.getTrimmedStrings(YarnConfiguration.NM_DOCKER_ALLOWED_CONTAINER_NETWORKS,
> YarnConfiguration.DEFAULT_NM_DOCKER_ALLOWED_CONTAINER_NETWORKS)));
> - defaultNetwork = conf.get(
> + defaultNetwork = conf.getTrimmed(
> YarnConfiguration.NM_DOCKER_DEFAULT_CONTAINER_NETWORK,
> YarnConfiguration.DEFAULT_NM_DOCKER_DEFAULT_CONTAINER_NETWORK);
>
> @@ -237,7 +237,7 @@ public void initialize(Configuration conf)
> throw new ContainerExecutionException(message);
> }
>
> - privilegedContainersAcl = new AccessControlList(conf.get(
> + privilegedContainersAcl = new AccessControlList(conf.getTrimmed(
> YarnConfiguration.NM_DOCKER_PRIVILEGED_CONTAINERS_ACL,
> YarnConfiguration.DEFAULT_NM_DOCKER_PRIVILEGED_CONTAINERS_ACL));
> }
> @@ -439,7 +439,7 @@ public void launchContainer(ContainerRuntimeContext ctx)
> LOCALIZED_RESOURCES);
> @SuppressWarnings("unchecked")
> List<String> userLocalDirs = ctx.getExecutionAttribute(USER_LOCAL_DIRS);
> - Set<String> capabilities = new HashSet<>(Arrays.asList(conf.getStrings(
> + Set<String> capabilities = new HashSet<>(Arrays.asList(conf.getTrimmedStrings(
> YarnConfiguration.NM_DOCKER_CONTAINER_CAPABILITIES,
> YarnConfiguration.DEFAULT_NM_DOCKER_CONTAINER_CAPABILITIES)));
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org