hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bikas Saha (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-4368) TaskRunner fails to start jars when the java.library.path contains a quoted path with embedded spaces
Date Wed, 27 Jun 2012 02:31:45 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13401894#comment-13401894

Bikas Saha commented on MAPREDUCE-4368:

That would leave the code change incomplete. But I am ok with that since it is blocked by
the basic generic bug in the handling of the white space delimiter for java opts. Could you
please open a jira (not targeted to branch-1-win) to track and fix the bug around handling
blanks while delimiting java opts? And leave a comment with that jira number to explain the
missing check mentioned in your last comment.
After that I am +1 on the fix. We can commit unless someone else has any objections.
> 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
>              Labels: newbie, patch
>         Attachments: TaskRunner.patch, TaskRunner2.patch
>   Original Estimate: 24h
>  Remaining Estimate: 24h
> 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


View raw message