[
https://issues.apache.org/jira/browse/HIVE-5532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shuaishuai Nie updated HIVE-5532:
---------------------------------
Description:
In Windows environment, environment variable is quoted to preserve special
characters like space. However since MapredLocalTask will call hadoop.cmd to
launch ExecDriver and hadoop.cmd will reconstruct environment variable like
{code}
set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_CLIENT_OPTS%
{code}
the quotes for HADOOP_CLIENT_OPTS will be part of HADOOP_OPTS and nullify the
variables in HADOOP_CLIENT_OPTS after appending to HADOOP_OPTS.
Example HADOOP_OPTS:
{code}
-Dhadoop.log.dir=C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\logs
-Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=C:\apps\dist\hadoop-1.2.0.1.3.1.0-06
-Dhadoop.root.logger="INFO,TLA"
-Djava.library.path=;C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\lib\native\Windows_NT-amd64-64;C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\lib\native
-Dhadoop.policy.file=hadoop-policy.xml
"-Dhadoop.tasklog.taskid=attempt_201310092133_0006_m_000000_0
-Dhadoop.tasklog.iscleanup=false -Dhadoop.tasklog.totalLogFileSize=0"
{code}
One failure scenario is when map side join is launched by Oozie, the job fails
because cannot find "hadoop.tasklog.taskid" and throw exception when
initializing log4j
> In Windows, MapredLocalTask need to remove quotes on environment variable
> before launch ExecDriver in another JVM
> -----------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-5532
> URL: https://issues.apache.org/jira/browse/HIVE-5532
> Project: Hive
> Issue Type: Bug
> Reporter: Shuaishuai Nie
> Assignee: Shuaishuai Nie
>
> In Windows environment, environment variable is quoted to preserve special
> characters like space. However since MapredLocalTask will call hadoop.cmd to
> launch ExecDriver and hadoop.cmd will reconstruct environment variable like
> {code}
> set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_CLIENT_OPTS%
> {code}
> the quotes for HADOOP_CLIENT_OPTS will be part of HADOOP_OPTS and nullify the
> variables in HADOOP_CLIENT_OPTS after appending to HADOOP_OPTS.
> Example HADOOP_OPTS:
> {code}
> -Dhadoop.log.dir=C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\logs
> -Dhadoop.log.file=hadoop.log
> -Dhadoop.home.dir=C:\apps\dist\hadoop-1.2.0.1.3.1.0-06
> -Dhadoop.root.logger="INFO,TLA"
> -Djava.library.path=;C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\lib\native\Windows_NT-amd64-64;C:\apps\dist\hadoop-1.2.0.1.3.1.0-06\lib\native
> -Dhadoop.policy.file=hadoop-policy.xml
> "-Dhadoop.tasklog.taskid=attempt_201310092133_0006_m_000000_0
> -Dhadoop.tasklog.iscleanup=false -Dhadoop.tasklog.totalLogFileSize=0"
> {code}
> One failure scenario is when map side join is launched by Oozie, the job
> fails because cannot find "hadoop.tasklog.taskid" and throw exception when
> initializing log4j
--
This message was sent by Atlassian JIRA
(v6.1#6144)