Skip to content

Commit e311d19

Browse files
committed
OOZIE-2209 Oozie jobs to set java.io.tmpdir to ./tmp (kailongs via rohini)
1 parent c377381 commit e311d19

File tree

3 files changed

+135
-34
lines changed

3 files changed

+135
-34
lines changed

core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ public class JavaActionExecutor extends ActionExecutor {
9898
public static final String HADOOP_MAP_MEMORY_MB = "mapreduce.map.memory.mb";
9999
public static final String HADOOP_CHILD_JAVA_OPTS = "mapred.child.java.opts";
100100
public static final String HADOOP_MAP_JAVA_OPTS = "mapreduce.map.java.opts";
101+
public static final String HADOOP_REDUCE_JAVA_OPTS = "mapreduce.reduce.java.opts";
101102
public static final String HADOOP_CHILD_JAVA_ENV = "mapred.child.env";
102103
public static final String HADOOP_MAP_JAVA_ENV = "mapreduce.map.env";
103104
public static final String YARN_AM_RESOURCE_MB = "yarn.app.mapreduce.am.resource.mb";
@@ -114,6 +115,7 @@ public class JavaActionExecutor extends ActionExecutor {
114115
private static final String FAILED_KILLED = "FAILED/KILLED";
115116
protected XLog LOG = XLog.getLog(getClass());
116117
private static final Pattern heapPattern = Pattern.compile("-Xmx(([0-9]+)[mMgG])");
118+
private static final String JAVA_TMP_DIR_SETTINGS = "-Djava.io.tmpdir=";
117119
public static final String CONF_HADOOP_YARN_UBER_MODE = "oozie.action.launcher." + HADOOP_YARN_UBER_MODE;
118120
public static final String HADOOP_JOB_CLASSLOADER = "mapreduce.job.classloader";
119121
public static final String HADOOP_USER_CLASSPATH_FIRST = "mapreduce.user.classpath.first";
@@ -389,6 +391,31 @@ void updateConfForUberMode(Configuration launcherConf) {
389391
}
390392
}
391393

394+
void updateConfForJavaTmpDir(Configuration conf) {
395+
String mapOpts = conf.get(HADOOP_MAP_JAVA_OPTS);
396+
String reduceOpts = conf.get(HADOOP_REDUCE_JAVA_OPTS);
397+
String childOpts = conf.get(HADOOP_CHILD_JAVA_OPTS);
398+
String amChildOpts = conf.get(YARN_AM_COMMAND_OPTS);
399+
String oozieJavaTmpDirSetting = "-Djava.io.tmpdir=./tmp";
400+
if (childOpts == null) {
401+
conf.set(HADOOP_CHILD_JAVA_OPTS, oozieJavaTmpDirSetting);
402+
} else {
403+
conf.set(HADOOP_CHILD_JAVA_OPTS, childOpts + " " + oozieJavaTmpDirSetting);
404+
}
405+
406+
if (mapOpts != null && !mapOpts.contains(JAVA_TMP_DIR_SETTINGS)) {
407+
conf.set(HADOOP_MAP_JAVA_OPTS, mapOpts + " " + oozieJavaTmpDirSetting);
408+
}
409+
410+
if (reduceOpts != null && !reduceOpts.contains(JAVA_TMP_DIR_SETTINGS)) {
411+
conf.set(HADOOP_REDUCE_JAVA_OPTS, reduceOpts + " " + oozieJavaTmpDirSetting);
412+
}
413+
414+
if (amChildOpts != null && !amChildOpts.contains(JAVA_TMP_DIR_SETTINGS)) {
415+
conf.set(YARN_AM_COMMAND_OPTS, amChildOpts + " " + oozieJavaTmpDirSetting);
416+
}
417+
}
418+
392419
private HashMap<String, List<String>> populateEnvMap(String input) {
393420
HashMap<String, List<String>> envMaps = new HashMap<String, List<String>>();
394421
String[] envEntries = input.split(",");
@@ -495,6 +522,7 @@ Configuration setupActionConf(Configuration actionConf, Context context, Element
495522

496523
// set cancel.delegation.token in actionConf that child job doesn't cancel delegation token
497524
actionConf.setBoolean("mapreduce.job.complete.cancel.delegation.tokens", false);
525+
updateConfForJavaTmpDir(actionConf);
498526
return actionConf;
499527
}
500528
catch (IOException ex) {
@@ -918,7 +946,7 @@ JobConf createLauncherConf(FileSystem actionFs, Context context, WorkflowAction
918946
updateConfForUberMode(launcherJobConf);
919947
}
920948
}
921-
949+
updateConfForJavaTmpDir(launcherJobConf);
922950
injectLauncherTimelineServiceEnabled(launcherJobConf, actionConf);
923951

924952
// properties from action that are needed by the launcher (e.g. QUEUE NAME, ACLs)

core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java

Lines changed: 105 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,8 +1070,8 @@ public void testJavaOpts() throws Exception {
10701070

10711071
Configuration conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
10721072

1073-
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts"));
1074-
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts"));
1073+
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts"));
1074+
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts"));
10751075

10761076
actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>"
10771077
+ getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>"
@@ -1095,8 +1095,8 @@ public void testJavaOpts() throws Exception {
10951095

10961096
conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
10971097

1098-
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts"));
1099-
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts"));
1098+
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts"));
1099+
assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts"));
11001100

11011101
actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>"
11021102
+ getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>"
@@ -1122,8 +1122,8 @@ public void testJavaOpts() throws Exception {
11221122

11231123
conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
11241124

1125-
assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts"));
1126-
assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts"));
1125+
assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts"));
1126+
assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts"));
11271127

11281128
actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>"
11291129
+ getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>"
@@ -1149,8 +1149,8 @@ public void testJavaOpts() throws Exception {
11491149

11501150
conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
11511151

1152-
assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts"));
1153-
assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts"));
1152+
assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts"));
1153+
assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts"));
11541154

11551155
actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>"
11561156
+ getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>"
@@ -1177,8 +1177,8 @@ public void testJavaOpts() throws Exception {
11771177

11781178
conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
11791179

1180-
assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts"));
1181-
assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts"));
1180+
assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts"));
1181+
assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts"));
11821182
}
11831183

11841184
public void testActionLibsPath() throws Exception {
@@ -1719,6 +1719,70 @@ public void testInjectLauncherUseUberMode() throws Exception {
17191719
assertEquals("false", conf.get("mapreduce.job.ubertask.enable"));
17201720
}
17211721

1722+
public void testUpdateConfForJavaTmpDir() throws Exception {
1723+
1724+
//Test UpdateCOnfForJavaTmpDir for launcherConf
1725+
String actionXml1 = "<java>"
1726+
+ "<job-tracker>"
1727+
+ getJobTrackerUri()
1728+
+ "</job-tracker>"
1729+
+ "<name-node>"
1730+
+ getNameNodeUri()
1731+
+ "</name-node>"
1732+
+ "<configuration>"
1733+
+ "<property><name>oozie.launcher.yarn.app.mapreduce.am.command-opts</name>"
1734+
+ "<value>-Xmx1024m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./usr</value></property>"
1735+
+ "<property><name>oozie.launcher.mapred.child.java.opts</name>"
1736+
+ "<value>-Xmx2048m -Djava.net.preferIPv4Stack=true</value></property>"
1737+
+ "<property><name>oozie.launcher.mapreduce.reduce.java.opts</name>"
1738+
+ "<value>-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./usr</value></property>"
1739+
+ "</configuration>" + "<main-class>MAIN-CLASS</main-class>" + "</java>";
1740+
JavaActionExecutor ae = new JavaActionExecutor();
1741+
WorkflowJobBean wfBean = addRecordToWfJobTable("test1", actionXml1);
1742+
WorkflowActionBean action = (WorkflowActionBean) wfBean.getActions().get(0);
1743+
action.setType(ae.getType());
1744+
action.setConf(actionXml1);
1745+
1746+
Context context = new Context(wfBean, action);
1747+
Element actionXmlconf = XmlUtils.parseXml(action.getConf());
1748+
1749+
Configuration actionConf = ae.createBaseHadoopConf(context, actionXmlconf);
1750+
Configuration conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf);
1751+
1752+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp",
1753+
conf.get(JavaActionExecutor.HADOOP_CHILD_JAVA_OPTS));
1754+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp",
1755+
conf.get(JavaActionExecutor.HADOOP_MAP_JAVA_OPTS));
1756+
assertEquals("-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./usr", conf.get(JavaActionExecutor.HADOOP_REDUCE_JAVA_OPTS));
1757+
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./usr -Xmx2048m " +
1758+
"-Djava.net.preferIPv4Stack=true -Xmx2560m", conf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
1759+
1760+
//Test UpdateConfForJavaTmpDIr for actionConf
1761+
String actionXml = "<java>"
1762+
+ "<job-tracker>"
1763+
+ getJobTrackerUri()
1764+
+ "</job-tracker>"
1765+
+ "<name-node>"
1766+
+ getNameNodeUri()
1767+
+ "</name-node>"
1768+
+ "<configuration>"
1769+
+ "<property><name>mapreduce.map.java.opts</name>"
1770+
+ "<value>-Xmx1024m -Djava.io.tmpdir=./usr</value></property>"
1771+
+ "<property><name>mapreduce.reduce.java.opts</name>"
1772+
+ "<value>-Xmx2560m -XX:NewRatio=8</value></property>"
1773+
+ "</configuration>" + "<main-class>MAIN-CLASS</main-class>" + "</java>";
1774+
Element eActionXml = XmlUtils.parseXml(actionXml);
1775+
Context context2 = createContext(actionXml, null);
1776+
Path appPath2 = getAppPath();
1777+
JavaActionExecutor ae2 = new JavaActionExecutor();
1778+
Configuration jobConf = ae2.createBaseHadoopConf(context2, eActionXml);
1779+
ae2.setupActionConf(jobConf, context2, eActionXml, appPath2);
1780+
1781+
assertEquals("-Xmx200m -Djava.io.tmpdir=./tmp", jobConf.get(JavaActionExecutor.HADOOP_CHILD_JAVA_OPTS));
1782+
assertEquals("-Xmx1024m -Djava.io.tmpdir=./usr", jobConf.get(JavaActionExecutor.HADOOP_MAP_JAVA_OPTS));
1783+
assertEquals("-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", jobConf.get(JavaActionExecutor.HADOOP_REDUCE_JAVA_OPTS));
1784+
assertNull(jobConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1785+
}
17221786
public void testUpdateConfForUberMode() throws Exception {
17231787
Element actionXml1 = XmlUtils
17241788
.parseXml("<java>"
@@ -1749,15 +1813,17 @@ public void testUpdateConfForUberMode() throws Exception {
17491813
assertEquals("2560", launcherConf.get(JavaActionExecutor.YARN_AM_RESOURCE_MB));
17501814
// heap size in child.opts (2048 + 512)
17511815
int heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1752-
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true", launcherConf.get("mapred.child.java.opts"));
1753-
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true", launcherConf.get("mapreduce.map.java.opts"));
1816+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp",
1817+
launcherConf.get("mapred.child.java.opts"));
1818+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp",
1819+
launcherConf.get("mapreduce.map.java.opts"));
17541820
// There's an extra parameter (-Xmx1024m) in here when using YARN that's not here when using MR1
17551821
if (createJobConf().get("yarn.resourcemanager.address") != null) {
17561822
assertEquals("-Xmx1024m -Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m",
17571823
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
17581824
}
17591825
else {
1760-
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m",
1826+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m -Djava.io.tmpdir=./tmp",
17611827
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
17621828
}
17631829
assertEquals(2560, heapSize);
@@ -1792,10 +1858,10 @@ public void testUpdateConfForUberMode() throws Exception {
17921858

17931859
// heap size (2560 + 512)
17941860
heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1795-
assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8", launcherConf.get("mapred.child.java.opts"));
1796-
assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8", launcherConf.get("mapreduce.map.java.opts"));
1797-
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx2560m -XX:NewRatio=8 -Xmx3072m",
1798-
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
1861+
assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapred.child.java.opts"));
1862+
assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapreduce.map.java.opts"));
1863+
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx2560m -XX:NewRatio=8 " +
1864+
"-Xmx3072m -Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
17991865
assertEquals(3072, heapSize);
18001866

18011867
// env (equqls to mapreduce.map.env + am.env)
@@ -1830,10 +1896,10 @@ public void testUpdateConfForUberMode() throws Exception {
18301896

18311897
// heap size (limit to 3584)
18321898
heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1833-
assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8", launcherConf.get("mapred.child.java.opts"));
1834-
assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8", launcherConf.get("mapreduce.map.java.opts"));
1835-
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx4000m -XX:NewRatio=8 -Xmx3584m",
1836-
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
1899+
assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapred.child.java.opts"));
1900+
assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapreduce.map.java.opts"));
1901+
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx4000m -XX:NewRatio=8 " +
1902+
"-Xmx3584m -Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
18371903
assertEquals(3584, heapSize);
18381904

18391905
// env (equqls to mapreduce.map.env + am.env)
@@ -1938,10 +2004,12 @@ public void testUpdateConfForUberModeForJavaOpts() throws Exception {
19382004

19392005
// heap size (2048 + 512)
19402006
int heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1941-
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2", launcherConf.get("mapred.child.java.opts"));
1942-
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2", launcherConf.get("mapreduce.map.java.opts"));
1943-
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Xmx2560m",
1944-
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
2007+
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Djava.io.tmpdir=./tmp",
2008+
launcherConf.get("mapred.child.java.opts"));
2009+
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Djava.io.tmpdir=./tmp",
2010+
launcherConf.get("mapreduce.map.java.opts"));
2011+
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Xmx2560m " +
2012+
"-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
19452013
assertEquals(2560, heapSize);
19462014

19472015
Element actionXml2 = XmlUtils
@@ -1964,10 +2032,12 @@ public void testUpdateConfForUberModeForJavaOpts() throws Exception {
19642032

19652033
// heap size (2048 + 512)
19662034
heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1967-
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1", launcherConf.get("mapred.child.java.opts"));
1968-
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1", launcherConf.get("mapreduce.map.java.opts"));
1969-
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Xmx2560m",
1970-
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
2035+
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Djava.io.tmpdir=./tmp",
2036+
launcherConf.get("mapred.child.java.opts"));
2037+
assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Djava.io.tmpdir=./tmp",
2038+
launcherConf.get("mapreduce.map.java.opts"));
2039+
assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Xmx2560m " +
2040+
"-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
19712041
assertEquals(2560, heapSize);
19722042

19732043
Element actionXml3 = XmlUtils
@@ -1990,10 +2060,12 @@ public void testUpdateConfForUberModeForJavaOpts() throws Exception {
19902060

19912061
// heap size (2048 + 512)
19922062
heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS));
1993-
assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1", launcherConf.get("mapred.child.java.opts"));
1994-
assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1", launcherConf.get("mapreduce.map.java.opts"));
1995-
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Xmx2560m",
1996-
launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
2063+
assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Djava.io.tmpdir=./tmp",
2064+
launcherConf.get("mapred.child.java.opts"));
2065+
assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Djava.io.tmpdir=./tmp",
2066+
launcherConf.get("mapreduce.map.java.opts"));
2067+
assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Xmx2560m " +
2068+
"-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim());
19972069
assertEquals(2560, heapSize);
19982070
}
19992071

release-log.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
-- Oozie 4.2.0 release (trunk - unreleased)
22

3+
OOZIE-2209 Oozie jobs to set "java.io.tmpdir" to "./tmp" (kailongs via rohini)
34
OOZIE-2051 Allows multiple default action configuration files per action (venkatnrangan via bzhang)
45
OOZIE-2170 Oozie should automatically set configs to make Spark jobs show up in the Spark History Server (rkanter)
56
OOZIE-2140 Audit Log should be shown in Oozie UI (puru)

0 commit comments

Comments
 (0)