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