[
https://issues.apache.org/jira/browse/HADOOP-18327?focusedWorklogId=789371&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-789371
]
ASF GitHub Bot logged work on HADOOP-18327:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 11/Jul/22 05:14
Start Date: 11/Jul/22 05:14
Worklog Time Spent: 10m
Work Description: iwasakims commented on PR #4536:
URL: https://github.com/apache/hadoop/pull/4536#issuecomment-1179974682
Can you share the way to reproduce the issue? It looks like we can not get
expected outcome regardless of the patch due to another reason.
```
$ export HADOOP_OPTS="-XX:OnOutOfMemoryError='kill -9 %p'"
$ echo $HADOOP_OPTS
-XX:OnOutOfMemoryError='kill -9 %p'
$ bin/hadoop version
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
/home/iwasakims/dist/hadoop-3.3.3/bin/../libexec/hadoop-functions.sh: line
1143: -9: command not found
Unrecognized option: -9
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
```
```
$ bash -x -c 'export SHELLOPTS && bin/hadoop version' 2>&1 | grep OnOutOf
++ export 'HADOOP_OPTS=-XX:OnOutOfMemoryError='\''kill -9 %p'\'''
++ HADOOP_OPTS='-XX:OnOutOfMemoryError='\''kill -9 %p'\'''
++ hadoop_debug 'Initial HADOOP_OPTS=-XX:OnOutOfMemoryError='\''kill -9
%p'\'''
+ HADOOP_OPTS='-XX:OnOutOfMemoryError='\''kill -9 %p'\'' '
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ yarn.log.dir ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dyarn.log.dir=/home/iwasakims/dist/hadoop-3.3.3/logs'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ yarn.log.file ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dyarn.log.file=hadoop.log'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ yarn.home.dir ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dyarn.home.dir=/home/iwasakims/dist/hadoop-3.3.3'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ yarn.root.logger ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dyarn.root.logger=INFO,console'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ java.library.path ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Djava.library.path=/home/iwasakims/dist/hadoop-3.3.3/lib/native'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.log.dir ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.log.dir=/home/iwasakims/dist/hadoop-3.3.3/logs'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.log.file ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.log.file=hadoop.log'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.home.dir ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.home.dir=/home/iwasakims/dist/hadoop-3.3.3'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.id.str ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.id.str=iwasakims'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.root.logger ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.root.logger=INFO,console'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.policy.file ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.policy.file=hadoop-policy.xml'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ [[ ! -XX:OnOutOfMemoryError='kill -9 %p' =~ hadoop.security.logger ]]
+ eval 'HADOOP_OPTS='\''-XX:OnOutOfMemoryError='\''kill -9 %p'\''
-Dhadoop.security.logger=INFO,NullAppender'\'''
++ HADOOP_OPTS=-XX:OnOutOfMemoryError=kill
+ hadoop_debug 'Final HADOOP_OPTS: -XX:OnOutOfMemoryError='\''kill -9 %p'\''
'
+ exec /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Dproc_version
'-XX:OnOutOfMemoryError='\''kill' -9 '%p'\''' org.apache.hadoop.util.VersionInfo
```
Issue Time Tracking
-------------------
Worklog Id: (was: 789371)
Time Spent: 0.5h (was: 20m)
> Fix eval expression in hadoop-functions.sh
> ------------------------------------------
>
> Key: HADOOP-18327
> URL: https://issues.apache.org/jira/browse/HADOOP-18327
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 3.3.3
> Reporter: Ashutosh Gupta
> Assignee: Ashutosh Gupta
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Need to fix the eval expression. We can relace single quote with escape-char
> and a double quote.
>
> HADOOP_OPTS can contain -XX:OnOutOfMemoryError='kill -9 %p', this leads to
> following invalid eval expression - eval $HADOOP_OPTS='foo_bar
> -XX:OnOutOfMemoryError='kill -9 %p''
> Replacing with escape-char and a double quote should works fine.
>
> eval "$1"="'${!1} $3'" -> eval "$1"="\"${!1} $3\""
> eval "$1"="'${!1# }'" -> eval "$1"="\"${!1# }\""
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]