[ 
https://issues.apache.org/jira/browse/HADOOP-15585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18047739#comment-18047739
 ] 

ASF GitHub Bot commented on HADOOP-15585:
-----------------------------------------

github-actions[bot] commented on PR #400:
URL: https://github.com/apache/hadoop/pull/400#issuecomment-3693512905

   We're closing this stale PR because it has been open for 100 days with no 
activity. This isn't a judgement on the merit of the PR in any way. It's just a 
way of keeping the PR queue manageable.
   If you feel like this was a mistake, or you would like to continue working 
on it, please feel free to re-open it and ask for a committer to remove the 
stale tag and review again.
   Thanks all for your contribution.




> Fix spaces in HADOOP_OPTS arguments
> -----------------------------------
>
>                 Key: HADOOP-15585
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15585
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: scripts
>    Affects Versions: 3.0.3
>            Reporter: Brandon Scheller
>            Priority: Major
>              Labels: bash, shell-script
>
> Prefix exec by eval in Hadoop bin scripts
> Prior to this change, if HADOOP_OPTS contains any arguments that include a
> space, the command is not parsed correctly. For example, if
> HADOOP_OPTS="... -XX:OnOutOfMemoryError=\"kill -9 %p\" ...", the bin/hadoop
> script will fail with the error "Unrecognized option: -9". No amount of clever
> escaping of the quotes or spaces in the "kill -9 %p" command will fix this.
> The only alternative appears to be to use 'eval'. Switching to use 'eval'
> *instead of* 'exec' also works, but it results in an intermediate bash process
> being left alive throughout the entire lifetime of the Java proces being
> started. Using 'exec' prefixed by 'eval' as has been done in this commit gets
> the best of both worlds, in that options with spaces are parsed correctly, and
> you don't end up with an intermediate bash process as the parent of the Java
> process.
> This is the exact approach that has been taken with Tomcat as well. See:
> http://tomcat.10.x6.nabble.com/Using-eval-vs-exec-in-shell-scripts-td2193116.html
> https://github.com/apache/tomcat/commit/3445dc3dba7b15f2fff27faef77003215f62e49a
> https://github.com/apache/tomcat/commit/83c0aea60f331eb632dcea8e9919d234903e06d1



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to