Author: ryota
Date: Tue Nov 19 00:55:09 2013
New Revision: 1543280
URL: http://svn.apache.org/r1543280
Log:
OOZIE-1604 <java-opts> and <java-opt> not added to Application Master property
in uber mode (ryota)
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
oozie/trunk/release-log.txt
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java?rev=1543280&r1=1543279&r2=1543280&view=diff
==============================================================================
---
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
(original)
+++
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
Tue Nov 19 00:55:09 2013
@@ -233,7 +233,6 @@ public class JavaActionExecutor extends
XConfiguration actionDefaultConf =
has.createActionDefaultConf(conf.get(HADOOP_JOB_TRACKER), getType());
injectLauncherProperties(actionDefaultConf, launcherConf);
injectLauncherProperties(inlineConf, launcherConf);
- injectLauncherUseUberMode(launcherConf);
checkForDisallowedProps(launcherConf, "launcher
configuration");
XConfiguration.copy(launcherConf, conf);
}
@@ -734,6 +733,9 @@ public class JavaActionExecutor extends
launcherJobConf.set("mapred.child.java.opts", opts);
}
+ // setting for uber mode
+ injectLauncherUseUberMode(launcherJobConf);
+
// properties from action that are needed by the launcher (e.g.
QUEUE NAME, ACLs)
// maybe we should add queue to the WF schema, below job-tracker
actionConfToLauncherConf(actionConf, launcherJobConf);
Modified:
oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java?rev=1543280&r1=1543279&r2=1543280&view=diff
==============================================================================
---
oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
(original)
+++
oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
Tue Nov 19 00:55:09 2013
@@ -1575,8 +1575,8 @@ public class TestJavaActionExecutor exte
action.setType(ae.getType());
Context context = new Context(wf, action);
- JobConf launcherConf = ae.createBaseHadoopConf(context, actionXml1);
- ae.setupLauncherConf(launcherConf, actionXml1, getFsTestCaseDir(),
context);
+ JobConf launcherConf = new JobConf();
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml1, launcherConf);
// memoryMB (2048 + 512)
assertEquals("2560",
launcherConf.get(JavaActionExecutor.YARN_AM_RESOURCE_MB));
// heap size in child.opts (2048 + 512)
@@ -1607,8 +1607,7 @@ public class TestJavaActionExecutor exte
+
"<property><name>oozie.launcher.mapred.child.env</name><value>B=bar</value></property>"
+ "</configuration>" +
"<main-class>MAIN-CLASS</main-class>" + "</java>");
- launcherConf = ae.createBaseHadoopConf(context, actionXml2);
- ae.setupLauncherConf(launcherConf, actionXml2, getFsTestCaseDir(),
context);
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml2, launcherConf);
// memoryMB (3072 + 512)
assertEquals("3584",
launcherConf.get(JavaActionExecutor.YARN_AM_RESOURCE_MB));
@@ -1644,7 +1643,7 @@ public class TestJavaActionExecutor exte
+ "</configuration>" +
"<main-class>MAIN-CLASS</main-class>" + "</java>");
launcherConf = ae.createBaseHadoopConf(context, actionXml3);
- ae.setupLauncherConf(launcherConf, actionXml3, getFsTestCaseDir(),
context);
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml3, launcherConf);
// memoryMB (limit to 4096)
assertEquals("4096",
launcherConf.get(JavaActionExecutor.YARN_AM_RESOURCE_MB));
@@ -1658,6 +1657,93 @@ public class TestJavaActionExecutor exte
assertEquals("A=foo,B=bar",
launcherConf.get(JavaActionExecutor.YARN_AM_ENV));
}
+ public void testUpdateConfForUberModeForJavaOpts() throws Exception {
+
Services.get().getConf().setBoolean("oozie.action.launcher.mapreduce.job.ubertask.enable",
true);
+
+ Element actionXml1 = XmlUtils
+ .parseXml("<java>"
+ + "<job-tracker>"
+ + getJobTrackerUri()
+ + "</job-tracker>"
+ + "<name-node>"
+ + getNameNodeUri()
+ + "</name-node>"
+ + "<configuration>"
+ +
"<property><name>oozie.launcher.yarn.app.mapreduce.am.command-opts</name>"
+ + "<value>-Xmx1024m -Djava.net.preferIPv4Stack=true
</value></property>"
+ +
"<property><name>oozie.launcher.mapred.child.java.opts</name><value>-Xmx1536m</value></property>"
+ + "</configuration>" +
"<main-class>MAIN-CLASS</main-class>"
+ + "<java-opt>-Xmx2048m</java-opt>"
+ + "<java-opt>-Dkey1=val1</java-opt>"
+ + "<java-opt>-Dkey2=val2</java-opt>"
+ + "</java>");
+ JavaActionExecutor ae = new JavaActionExecutor();
+ XConfiguration protoConf = new XConfiguration();
+ protoConf.set(WorkflowAppService.HADOOP_USER, getTestUser());
+
+ WorkflowJobBean wf = createBaseWorkflow(protoConf, "action");
+ WorkflowActionBean action = (WorkflowActionBean)
wf.getActions().get(0);
+ action.setType(ae.getType());
+
+ Context context = new Context(wf, action);
+ JobConf launcherConf = new JobConf();
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml1, launcherConf);
+
+ // heap size (2048 + 512)
+ int heapSize =
ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
+ assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m
-Xmx2048m -Dkey1=val1 -Dkey2=val2 -Xmx2560m",
+
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
+ assertEquals(2560, heapSize);
+
+ Element actionXml2 = XmlUtils
+ .parseXml("<java>"
+ + "<job-tracker>"
+ + getJobTrackerUri()
+ + "</job-tracker>"
+ + "<name-node>"
+ + getNameNodeUri()
+ + "</name-node>"
+ + "<configuration>"
+ +
"<property><name>oozie.launcher.yarn.app.mapreduce.am.command-opts</name>"
+ + "<value>-Xmx1024m -Djava.net.preferIPv4Stack=true
</value></property>"
+ +
"<property><name>oozie.launcher.mapred.child.java.opts</name><value>-Xmx1536m</value></property>"
+ + "</configuration>" +
"<main-class>MAIN-CLASS</main-class>"
+ + "<java-opts>-Xmx2048m -Dkey1=val1</java-opts>"
+ + "</java>");
+
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml2, launcherConf);
+
+ // heap size (2048 + 512)
+ heapSize =
ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
+ assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m
-Xmx2048m -Dkey1=val1 -Xmx2560m",
+
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
+ assertEquals(2560, heapSize);
+
+ Element actionXml3 = XmlUtils
+ .parseXml("<java>"
+ + "<job-tracker>"
+ + getJobTrackerUri()
+ + "</job-tracker>"
+ + "<name-node>"
+ + getNameNodeUri()
+ + "</name-node>"
+ + "<configuration>"
+ +
"<property><name>oozie.launcher.yarn.app.mapreduce.am.command-opts</name>"
+ + "<value>-Xmx2048m -Djava.net.preferIPv4Stack=true
</value></property>"
+ +
"<property><name>oozie.launcher.mapred.child.java.opts</name><value>-Xmx3072m</value></property>"
+ + "</configuration>" +
"<main-class>MAIN-CLASS</main-class>"
+ + "<java-opts>-Xmx1024m -Dkey1=val1</java-opts>"
+ + "</java>");
+
+ launcherConf = ae.createLauncherConf(getFileSystem(), context, action,
actionXml3, launcherConf);
+
+ // heap size (2048 + 512)
+ heapSize =
ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
+ assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx3072m
-Xmx1024m -Dkey1=val1 -Xmx2560m",
+
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
+ assertEquals(2560, heapSize);
+ }
+
public void testAddToCache() throws Exception {
JavaActionExecutor ae = new JavaActionExecutor();
Configuration conf = new XConfiguration();
Modified: oozie/trunk/release-log.txt
URL:
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1543280&r1=1543279&r2=1543280&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Tue Nov 19 00:55:09 2013
@@ -1,5 +1,6 @@
-- Oozie 4.1.0 release (trunk - unreleased)
+OOZIE-1604 <java-opts> and <java-opt> not added to Application Master property
in uber mode (ryota)
OOZIE-1584 Setup sharelib using script and pickup latest(honor ship.launcher)
and remove DFS dependency at startup (puru via ryota)
OOZIE-1550 Create a safeguard to kill errant recursive workflows before they
bring down oozie (rkanter)
OOZIE-1314 IllegalArgumentException: wfId cannot be empty (shwethags via virag)