[jira] [Commented] (MAPREDUCE-4377) TaskRunner javaopts parsing doesn't handle embedded spaces

2012-06-27 Thread Robert Joseph Evans (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13402230#comment-13402230
 ] 

Robert Joseph Evans commented on MAPREDUCE-4377:


John,

that is very true, and if you can fix it I would be very happy to commit it for 
you.  However, I don't think this is the only place in the code that has 
problems with embedded spaces.  I'm not saying that we should not fix it, we 
should, just be aware that there be monsters here.  Also be aware that there 
may be some Windows vs. POSIX(bash) issues that you may run into with trying to 
parse the arguments.  Hopefully not too much though.

 TaskRunner javaopts parsing doesn't handle embedded spaces
 --

 Key: MAPREDUCE-4377
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4377
 Project: Hadoop Map/Reduce
  Issue Type: Bug
  Components: task-controller
Affects Versions: trunk
 Environment: java options containing escaped or non-escaped embedded 
 spaces.
Reporter: John Gordon

 TaskRunner::GetVMArgs reads getChildJavaOpts as one space-delimited string, 
 then split is on ' ' and tries to reason on individual options from there.  
 The problem with this approach is that java options may contain embedded 
 spaces in many legitimate cases -- this means it is reasoning on incomplete 
 option strings and cannot do appropriate preprocessing to do things like 
 handle escape characters or matched quotation marks.

--
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




[jira] [Commented] (MAPREDUCE-4377) TaskRunner javaopts parsing doesn't handle embedded spaces

2012-06-27 Thread John Gordon (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13402452#comment-13402452
 ] 

John Gordon commented on MAPREDUCE-4377:


Thanks Robert!  I agree it won't be an easy fix and may need some 
rearchitecture and significant test additions.

 TaskRunner javaopts parsing doesn't handle embedded spaces
 --

 Key: MAPREDUCE-4377
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4377
 Project: Hadoop Map/Reduce
  Issue Type: Bug
  Components: task-controller
Affects Versions: trunk
 Environment: java options containing escaped or non-escaped embedded 
 spaces.
Reporter: John Gordon

 TaskRunner::GetVMArgs reads getChildJavaOpts as one space-delimited string, 
 then split is on ' ' and tries to reason on individual options from there.  
 The problem with this approach is that java options may contain embedded 
 spaces in many legitimate cases -- this means it is reasoning on incomplete 
 option strings and cannot do appropriate preprocessing to do things like 
 handle escape characters or matched quotation marks.

--
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




[jira] [Commented] (MAPREDUCE-4377) TaskRunner javaopts parsing doesn't handle embedded spaces

2012-06-26 Thread John Gordon (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13401910#comment-13401910
 ] 

John Gordon commented on MAPREDUCE-4377:


This also means that the code to update the library path doesn't work if there 
is already a space in the user-specified library path:

for(int i=0; ijavaOptsSplit.length ;i++) { 
  if(javaOptsSplit[i].startsWith(-Djava.library.path=)) {
javaOptsSplit[i] += SYSTEM_PATH_SEPARATOR + libraryPath;
hasUserLDPath = true;
  }
  vargs.add(javaOptsSplit[i]);
}

Instead of appending to the end of the string, we are actually appending to the 
middle of the original user-specified library path (or wherever they had an 
embedded space).

 TaskRunner javaopts parsing doesn't handle embedded spaces
 --

 Key: MAPREDUCE-4377
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4377
 Project: Hadoop Map/Reduce
  Issue Type: Bug
  Components: task-controller
Affects Versions: trunk
 Environment: java options containing escaped or non-escaped embedded 
 spaces.
Reporter: John Gordon

 TaskRunner::GetVMArgs reads getChildJavaOpts as one space-delimited string, 
 then split is on ' ' and tries to reason on individual options from there.  
 The problem with this approach is that java options may contain embedded 
 spaces in many legitimate cases -- this means it is reasoning on incomplete 
 option strings and cannot do appropriate preprocessing to do things like 
 handle escape characters or matched quotation marks.

--
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