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

Ryota Egashira commented on OOZIE-1794:
---------------------------------------

I should've clarified better. the corner case i was thinking of is
{code}
   <configuration>
        <property>
                 <name>oozie.launcher.mapred.child.java.opts</name>
                  <value>A=1</value>
      </property>
   </configuration>
   <main-class>[MAIN-CLASS]</main-class>
   <java-opts>B=1</java-opts>
{code}

now B=1 is copied to both mapred.child.java.opts and mapreduce.map.java.opts, 
but A=1 only in mapred.child.java.opts. since mapreduce.map.java.opts already 
contains values, it will overwrite mapred.child.java.opts, meaning A=1 will be 
lost.
I just thought, by just adding one line to copy A=1 to mapreduce.map.java.opts 
before java-opts/java-opt part,  it will work either uber case or not. (then we 
don't have to change updateConfForUberMode).  does it make sense?  anyway, this 
is minor corner case..

> java-opts and java-opt in the Java action don't always work properly in YARN
> ----------------------------------------------------------------------------
>
>                 Key: OOZIE-1794
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1794
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>         Attachments: OOZIE-1794.patch, OOZIE-1794.patch
>
>
> Currently, when you set {{<java-opts>}} or {{<java-opt>}} in the Java action, 
> it essentially appends these to {{mapred.child.java.opts}} in the launcher 
> job.  
> In YARN, this property is deprecated in favor or {{mapreduce.map.java.opts}} 
> and {{mapreduce.reduce.java.opts}}.  And if 
> {{mapreduce.map/reduce.java.opts}} is set, {{mapred.child.java.opts}} will be 
> ignored.  So in a YARN cluster where mapred-site.xml has 
> {{mapreduce.map.java.opts}} set to something, {{<java-opts>}} and 
> {{<java-opt>}} won't work at all.  
> We should have {{<java-opts>}} and {{<java-opt>}} append to both 
> {{mapred.child.java.opts}} and {{mapreduce.map.java.opts}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to