You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Owen O'Malley (JIRA)" <ji...@apache.org> on 2012/08/28 22:59:08 UTC

[jira] [Created] (MAPREDUCE-4601) Windows CMD processor doesn't use double quotes

Owen O'Malley created MAPREDUCE-4601:
----------------------------------------

             Summary: Windows CMD processor doesn't use double quotes
                 Key: MAPREDUCE-4601
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4601
             Project: Hadoop Map/Reduce
          Issue Type: Bug
    Affects Versions: 1-win
            Reporter: Owen O'Malley
            Assignee: Owen O'Malley


Currently, the task launch script under windows matches Linux and double quotes all of the values. Unfortunately, the Windows' CMD processor doesn't need and doesn't ignore the double quotes. The main symptom of this is that the CLASSPATH loses the first and last entries.

{code}
set CLASSPATH="c:\foo;c:\bar;c:\baz"
{code}

results in having '"c:\foo' 'c:\bar' and 'c:\baz"' on the classpath. Of those three, only the 'c:\bar' is valid. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (MAPREDUCE-4601) Windows CMD processor doesn't use double quotes

Posted by "Owen O'Malley (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MAPREDUCE-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Owen O'Malley updated MAPREDUCE-4601:
-------------------------------------

    Attachment: mr-4601.patch

This changes MapReduce to only put the quotes in if the platform is not Windows.
                
> Windows CMD processor doesn't use double quotes
> -----------------------------------------------
>
>                 Key: MAPREDUCE-4601
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4601
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 1-win
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>         Attachments: mr-4601.patch
>
>
> Currently, the task launch script under windows matches Linux and double quotes all of the values. Unfortunately, the Windows' CMD processor doesn't need and doesn't ignore the double quotes. The main symptom of this is that the CLASSPATH loses the first and last entries.
> {code}
> set CLASSPATH="c:\foo;c:\bar;c:\baz"
> {code}
> results in having '"c:\foo' 'c:\bar' and 'c:\baz"' on the classpath. Of those three, only the 'c:\bar' is valid. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MAPREDUCE-4601) Windows CMD processor doesn't use double quotes

Posted by "Ivan Mitic (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAPREDUCE-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443590#comment-13443590 ] 

Ivan Mitic commented on MAPREDUCE-4601:
---------------------------------------

Thanks for reporting this Owen!

Did not know that the CLASSPATH cannot handle double quotes from your example. Interestingly, we settled on adding double quotes on Windows in {{TaskRunner#run()}} and trimming them away on the child side. However, with the CLASSPATH this does not really work. Please check out MAPREDUCE-4374, it contains the relevant discussion.
                
> Windows CMD processor doesn't use double quotes
> -----------------------------------------------
>
>                 Key: MAPREDUCE-4601
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4601
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 1-win
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>         Attachments: mr-4601.patch
>
>
> Currently, the task launch script under windows matches Linux and double quotes all of the values. Unfortunately, the Windows' CMD processor doesn't need and doesn't ignore the double quotes. The main symptom of this is that the CLASSPATH loses the first and last entries.
> {code}
> set CLASSPATH="c:\foo;c:\bar;c:\baz"
> {code}
> results in having '"c:\foo' 'c:\bar' and 'c:\baz"' on the classpath. Of those three, only the 'c:\bar' is valid. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira