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

Chris Nauroth commented on YARN-2929:
-------------------------------------

[~ozawa], thank you for providing the additional details.

Right now, the typical workflow is that the application submission context 
controls the Java classpath by setting the {{CLASSPATH}} environment variable.  
If we take the example of MapReduce, the relevant code is in {{YARNRunner}} and 
{{MRApps}}.  There is support in there for handling environment variables in 
cross-platform application submission.  However, even putting that aside, I 
believe there is no problem with using '/' for a Windows job submission if you 
use this technique.  The NodeManager ultimately translates the classpath 
through {{Path}} and bundles the whole classpath into a jar file manifest to be 
referenced by the running container.

I believe the only problem shown in the example is that the application 
submission is trying to set classpath by command-line argument.  Is it possible 
to switch to using the {{CLASSPATH}} environment variable technique, similar to 
how the MapReduce code does it?  If yes, then there is no need for the proposed 
patch.

There are also some other potential issues with trying to pass classpath on the 
command line in Windows.  It's very easy to hit the Windows maximum command 
line length limitation of 8191 characters.  NodeManager already has the logic 
to work around this by bundling the classpath into a jar file manifest, and 
you'd get that for free by using the environment variable technique.

> Adding separator ApplicationConstants.FILE_PATH_SEPARATOR for better Windows 
> support
> ------------------------------------------------------------------------------------
>
>                 Key: YARN-2929
>                 URL: https://issues.apache.org/jira/browse/YARN-2929
>             Project: Hadoop YARN
>          Issue Type: Improvement
>            Reporter: Tsuyoshi OZAWA
>            Assignee: Tsuyoshi OZAWA
>         Attachments: YARN-2929.001.patch
>
>
> Some frameworks like Spark is tackling to run jobs on Windows(SPARK-1825). 
> For better multiple platform support, we should introduce 
> ApplicationConstants.FILE_PATH_SEPARATOR for making filepath 
> platform-independent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to