John Gordon created MAPREDUCE-4368:
--------------------------------------

             Summary: TaskRunner fails to start jars when the java.library.path 
contains a quoted path with embedded spaces
                 Key: MAPREDUCE-4368
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4368
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: tasktracker
    Affects Versions: 1-win
         Environment: on Windows: 
set PATH=%PATH%;"C:\this memorable place".
            Reporter: John Gordon
             Fix For: 1-win


TaskRunner splits arguments by space before it adds them back to the vargs 
list, so it loses all context of quote escaped strings with embedded spaces.  
This gets fixed up later by wrapping all arguments with " -- so you get 
something like java "-D<opt>=<value>".  This is problematic for paths with 
embedded spaces, where we end up creating "-D<opt>=<first part" "last part>".  
To java, the jar being run is last part.  So with the environment above, you 
will see "ClassNoDefFoundError: memorable" and the jar will fail to start.  In 
this particular case, we know that java.libarary.path contains paths and the 
tests often use %PATH% to seed this, so the fix is to remove embedded quotes in 
listed path elements because we know the aggregate will be quoted when the JVM 
is started.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to