[ 
https://issues.apache.org/jira/browse/YARN-6830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16411546#comment-16411546
 ] 

Jason Lowe commented on YARN-6830:
----------------------------------

Yes, the downside with the key-prefix approach is it has to be implemented in 
each instance that wants to benefit.  Configuration could have a helper method, 
like collectPropertiesByPrefix(String keyPrefix), that returns a 
Map<String,String>.  That method would return the collection of key,value pairs 
for all properties in the config that start with the specified prefix.  Each 
instance that needs to move to this approach can leverage that helper method to 
find all the properties with a particular prefix, e.g.: "mapreduce.map.env." 
for the MapReduce case or "yarn.nodemanager.admin.env." for the YARN NM case.  
I don't see a way to automatically fix existing use-cases without risking 
backward compatibility problems because we would have to change the semantics 
of the existing methods.  This approach avoids that by adding new methods, but 
code has to be updated to use the new methods.

> Support quoted strings for environment variables
> ------------------------------------------------
>
>                 Key: YARN-6830
>                 URL: https://issues.apache.org/jira/browse/YARN-6830
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Shane Kumpf
>            Assignee: Jim Brennan
>            Priority: Major
>         Attachments: YARN-6830.001.patch, YARN-6830.002.patch, 
> YARN-6830.003.patch, YARN-6830.004.patch
>
>
> There are cases where it is necessary to allow for quoted string literals 
> within environment variables values when passed via the yarn command line 
> interface.
> For example, consider the follow environment variables for a MR map task.
> {{MODE=bar}}
> {{IMAGE_NAME=foo}}
> {{MOUNTS=/tmp/foo,/tmp/bar}}
> When running the MR job, these environment variables are supplied as a comma 
> delimited string.
> {{-Dmapreduce.map.env="MODE=bar,IMAGE_NAME=foo,MOUNTS=/tmp/foo,/tmp/bar"}}
> In this case, {{MOUNTS}} will be parsed and added to the task environment as 
> {{MOUNTS=/tmp/foo}}. Any attempts to quote the embedded comma separated value 
> results in quote characters becoming part of the value, and parsing still 
> breaks down at the comma.
> This issue is to allow for quoting the comma separated value (escaped double 
> or single quote). This was mentioned on YARN-4595 and will impact YARN-5534 
> as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to