@@ -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
0 commit comments