Repository: oozie Updated Branches: refs/heads/master c37738134 -> e311d1947
OOZIE-2209 Oozie jobs to set java.io.tmpdir to ./tmp (kailongs via rohini) Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/e311d194 Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/e311d194 Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/e311d194 Branch: refs/heads/master Commit: e311d19474001347db77c9eff4475f276165a274 Parents: c377381 Author: Rohini Palaniswamy <[email protected]> Authored: Fri Apr 17 12:24:52 2015 -0700 Committer: Rohini Palaniswamy <[email protected]> Committed: Fri Apr 17 12:24:52 2015 -0700 ---------------------------------------------------------------------- .../oozie/action/hadoop/JavaActionExecutor.java | 30 +++- .../action/hadoop/TestJavaActionExecutor.java | 138 ++++++++++++++----- release-log.txt | 1 + 3 files changed, 135 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/e311d194/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java index cf22ed6..163956e 100644 --- a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java +++ b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java @@ -98,6 +98,7 @@ public class JavaActionExecutor extends ActionExecutor { public static final String HADOOP_MAP_MEMORY_MB = "mapreduce.map.memory.mb"; public static final String HADOOP_CHILD_JAVA_OPTS = "mapred.child.java.opts"; public static final String HADOOP_MAP_JAVA_OPTS = "mapreduce.map.java.opts"; + public static final String HADOOP_REDUCE_JAVA_OPTS = "mapreduce.reduce.java.opts"; public static final String HADOOP_CHILD_JAVA_ENV = "mapred.child.env"; public static final String HADOOP_MAP_JAVA_ENV = "mapreduce.map.env"; public static final String YARN_AM_RESOURCE_MB = "yarn.app.mapreduce.am.resource.mb"; @@ -114,6 +115,7 @@ public class JavaActionExecutor extends ActionExecutor { private static final String FAILED_KILLED = "FAILED/KILLED"; protected XLog LOG = XLog.getLog(getClass()); private static final Pattern heapPattern = Pattern.compile("-Xmx(([0-9]+)[mMgG])"); + private static final String JAVA_TMP_DIR_SETTINGS = "-Djava.io.tmpdir="; public static final String CONF_HADOOP_YARN_UBER_MODE = "oozie.action.launcher." + HADOOP_YARN_UBER_MODE; public static final String HADOOP_JOB_CLASSLOADER = "mapreduce.job.classloader"; public static final String HADOOP_USER_CLASSPATH_FIRST = "mapreduce.user.classpath.first"; @@ -389,6 +391,31 @@ public class JavaActionExecutor extends ActionExecutor { } } + void updateConfForJavaTmpDir(Configuration conf) { + String mapOpts = conf.get(HADOOP_MAP_JAVA_OPTS); + String reduceOpts = conf.get(HADOOP_REDUCE_JAVA_OPTS); + String childOpts = conf.get(HADOOP_CHILD_JAVA_OPTS); + String amChildOpts = conf.get(YARN_AM_COMMAND_OPTS); + String oozieJavaTmpDirSetting = "-Djava.io.tmpdir=./tmp"; + if (childOpts == null) { + conf.set(HADOOP_CHILD_JAVA_OPTS, oozieJavaTmpDirSetting); + } else { + conf.set(HADOOP_CHILD_JAVA_OPTS, childOpts + " " + oozieJavaTmpDirSetting); + } + + if (mapOpts != null && !mapOpts.contains(JAVA_TMP_DIR_SETTINGS)) { + conf.set(HADOOP_MAP_JAVA_OPTS, mapOpts + " " + oozieJavaTmpDirSetting); + } + + if (reduceOpts != null && !reduceOpts.contains(JAVA_TMP_DIR_SETTINGS)) { + conf.set(HADOOP_REDUCE_JAVA_OPTS, reduceOpts + " " + oozieJavaTmpDirSetting); + } + + if (amChildOpts != null && !amChildOpts.contains(JAVA_TMP_DIR_SETTINGS)) { + conf.set(YARN_AM_COMMAND_OPTS, amChildOpts + " " + oozieJavaTmpDirSetting); + } + } + private HashMap<String, List<String>> populateEnvMap(String input) { HashMap<String, List<String>> envMaps = new HashMap<String, List<String>>(); String[] envEntries = input.split(","); @@ -495,6 +522,7 @@ public class JavaActionExecutor extends ActionExecutor { // set cancel.delegation.token in actionConf that child job doesn't cancel delegation token actionConf.setBoolean("mapreduce.job.complete.cancel.delegation.tokens", false); + updateConfForJavaTmpDir(actionConf); return actionConf; } catch (IOException ex) { @@ -918,7 +946,7 @@ public class JavaActionExecutor extends ActionExecutor { updateConfForUberMode(launcherJobConf); } } - + updateConfForJavaTmpDir(launcherJobConf); injectLauncherTimelineServiceEnabled(launcherJobConf, actionConf); // properties from action that are needed by the launcher (e.g. QUEUE NAME, ACLs) http://git-wip-us.apache.org/repos/asf/oozie/blob/e311d194/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java b/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java index f4d055f..c34020b 100644 --- a/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java +++ b/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java @@ -1070,8 +1070,8 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { Configuration conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); - assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts")); actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>" + getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>" @@ -1095,8 +1095,8 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); - assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts")); actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>" + getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>" @@ -1122,8 +1122,8 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); - assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts")); - assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts")); + assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts")); + assertEquals("JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts")); actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>" + getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>" @@ -1149,8 +1149,8 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); - assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m JAVA-OPT3 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts")); actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>" + getNameNodeUri() + "</name-node>" + "<job-xml>job.xml</job-xml>" + "<job-xml>job2.xml</job-xml>" @@ -1177,8 +1177,8 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); - assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2", conf.get("mapred.child.java.opts")); - assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2", conf.get("mapreduce.map.java.opts")); + assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapred.child.java.opts")); + assertEquals("JAVA-OPT3 JAVA-OPT4 JAVA-OPT1 JAVA-OPT2 -Djava.io.tmpdir=./tmp", conf.get("mapreduce.map.java.opts")); } public void testActionLibsPath() throws Exception { @@ -1719,6 +1719,70 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { assertEquals("false", conf.get("mapreduce.job.ubertask.enable")); } + public void testUpdateConfForJavaTmpDir() throws Exception { + + //Test UpdateCOnfForJavaTmpDir for launcherConf + String actionXml1 = "<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 -Djava.io.tmpdir=./usr</value></property>" + + "<property><name>oozie.launcher.mapred.child.java.opts</name>" + + "<value>-Xmx2048m -Djava.net.preferIPv4Stack=true</value></property>" + + "<property><name>oozie.launcher.mapreduce.reduce.java.opts</name>" + + "<value>-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./usr</value></property>" + + "</configuration>" + "<main-class>MAIN-CLASS</main-class>" + "</java>"; + JavaActionExecutor ae = new JavaActionExecutor(); + WorkflowJobBean wfBean = addRecordToWfJobTable("test1", actionXml1); + WorkflowActionBean action = (WorkflowActionBean) wfBean.getActions().get(0); + action.setType(ae.getType()); + action.setConf(actionXml1); + + Context context = new Context(wfBean, action); + Element actionXmlconf = XmlUtils.parseXml(action.getConf()); + + Configuration actionConf = ae.createBaseHadoopConf(context, actionXmlconf); + Configuration conf = ae.createLauncherConf(getFileSystem(), context, action, actionXmlconf, actionConf); + + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp", + conf.get(JavaActionExecutor.HADOOP_CHILD_JAVA_OPTS)); + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp", + conf.get(JavaActionExecutor.HADOOP_MAP_JAVA_OPTS)); + assertEquals("-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./usr", conf.get(JavaActionExecutor.HADOOP_REDUCE_JAVA_OPTS)); + assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./usr -Xmx2048m " + + "-Djava.net.preferIPv4Stack=true -Xmx2560m", conf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + + //Test UpdateConfForJavaTmpDIr for actionConf + String actionXml = "<java>" + + "<job-tracker>" + + getJobTrackerUri() + + "</job-tracker>" + + "<name-node>" + + getNameNodeUri() + + "</name-node>" + + "<configuration>" + + "<property><name>mapreduce.map.java.opts</name>" + + "<value>-Xmx1024m -Djava.io.tmpdir=./usr</value></property>" + + "<property><name>mapreduce.reduce.java.opts</name>" + + "<value>-Xmx2560m -XX:NewRatio=8</value></property>" + + "</configuration>" + "<main-class>MAIN-CLASS</main-class>" + "</java>"; + Element eActionXml = XmlUtils.parseXml(actionXml); + Context context2 = createContext(actionXml, null); + Path appPath2 = getAppPath(); + JavaActionExecutor ae2 = new JavaActionExecutor(); + Configuration jobConf = ae2.createBaseHadoopConf(context2, eActionXml); + ae2.setupActionConf(jobConf, context2, eActionXml, appPath2); + + assertEquals("-Xmx200m -Djava.io.tmpdir=./tmp", jobConf.get(JavaActionExecutor.HADOOP_CHILD_JAVA_OPTS)); + assertEquals("-Xmx1024m -Djava.io.tmpdir=./usr", jobConf.get(JavaActionExecutor.HADOOP_MAP_JAVA_OPTS)); + assertEquals("-Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", jobConf.get(JavaActionExecutor.HADOOP_REDUCE_JAVA_OPTS)); + assertNull(jobConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); + } public void testUpdateConfForUberMode() throws Exception { Element actionXml1 = XmlUtils .parseXml("<java>" @@ -1749,15 +1813,17 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { assertEquals("2560", launcherConf.get(JavaActionExecutor.YARN_AM_RESOURCE_MB)); // heap size in child.opts (2048 + 512) int heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true", launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp", + launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=./tmp", + launcherConf.get("mapreduce.map.java.opts")); // There's an extra parameter (-Xmx1024m) in here when using YARN that's not here when using MR1 if (createJobConf().get("yarn.resourcemanager.address") != null) { assertEquals("-Xmx1024m -Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); } else { - assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m", + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx2560m -Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); } assertEquals(2560, heapSize); @@ -1792,10 +1858,10 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { // heap size (2560 + 512) heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8", launcherConf.get("mapreduce.map.java.opts")); - assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx2560m -XX:NewRatio=8 -Xmx3072m", - launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx1536m -Xmx2560m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx2560m -XX:NewRatio=8 " + + "-Xmx3072m -Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); assertEquals(3072, heapSize); // env (equqls to mapreduce.map.env + am.env) @@ -1830,10 +1896,10 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { // heap size (limit to 3584) heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8", launcherConf.get("mapreduce.map.java.opts")); - assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx4000m -XX:NewRatio=8 -Xmx3584m", - launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx1536m -Xmx4000m -XX:NewRatio=8 -Djava.io.tmpdir=./tmp", launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx1536m -Xmx4000m -XX:NewRatio=8 " + + "-Xmx3584m -Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); assertEquals(3584, heapSize); // env (equqls to mapreduce.map.env + am.env) @@ -1938,10 +2004,12 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { // heap size (2048 + 512) int heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2", launcherConf.get("mapreduce.map.java.opts")); - assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Xmx2560m", - launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Dkey2=val2 -Xmx2560m " + + "-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); assertEquals(2560, heapSize); Element actionXml2 = XmlUtils @@ -1964,10 +2032,12 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { // heap size (2048 + 512) heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1", launcherConf.get("mapreduce.map.java.opts")); - assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Xmx2560m", - launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx1024m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx1536m -Xmx2048m -Dkey1=val1 -Xmx2560m " + + "-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); assertEquals(2560, heapSize); Element actionXml3 = XmlUtils @@ -1990,10 +2060,12 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { // heap size (2048 + 512) heapSize = ae.extractHeapSizeMB(launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS)); - assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1", launcherConf.get("mapred.child.java.opts")); - assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1", launcherConf.get("mapreduce.map.java.opts")); - assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Xmx2560m", - launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); + assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapred.child.java.opts")); + assertEquals("-Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Djava.io.tmpdir=./tmp", + launcherConf.get("mapreduce.map.java.opts")); + assertEquals("-Xmx2048m -Djava.net.preferIPv4Stack=true -Xmx200m -Xmx3072m -Xmx1024m -Dkey1=val1 -Xmx2560m " + + "-Djava.io.tmpdir=./tmp", launcherConf.get(JavaActionExecutor.YARN_AM_COMMAND_OPTS).trim()); assertEquals(2560, heapSize); } http://git-wip-us.apache.org/repos/asf/oozie/blob/e311d194/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 74fbd57..9d02e41 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 4.2.0 release (trunk - unreleased) +OOZIE-2209 Oozie jobs to set "java.io.tmpdir" to "./tmp" (kailongs via rohini) OOZIE-2051 Allows multiple default action configuration files per action (venkatnrangan via bzhang) OOZIE-2170 Oozie should automatically set configs to make Spark jobs show up in the Spark History Server (rkanter) OOZIE-2140 Audit Log should be shown in Oozie UI (puru)
