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

Reply via email to