Author: virag
Date: Wed Apr 24 19:53:10 2013
New Revision: 1471616
URL: http://svn.apache.org/r1471616
Log:
OOZIE-1146 FileSystem used by prepare sections should use the configuration of
the action (rohini via virag)
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/HCatLauncherURIHandler.java
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/LauncherMapper.java
oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
oozie/trunk/release-log.txt
oozie/trunk/sharelib/hive/src/main/java/org/apache/oozie/action/hadoop/HiveMain.java
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/HCatLauncherURIHandler.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/HCatLauncherURIHandler.java?rev=1471616&r1=1471615&r2=1471616&view=diff
==============================================================================
---
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/HCatLauncherURIHandler.java
(original)
+++
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/HCatLauncherURIHandler.java
Wed Apr 24 19:53:10 2013
@@ -22,6 +22,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map.Entry;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
@@ -68,7 +69,12 @@ public class HCatLauncherURIHandler impl
}
private HCatClient getHCatClient(URI uri, Configuration conf) throws
LauncherException {
- final HiveConf hiveConf = new HiveConf(conf, this.getClass());
+ // Do not use the constructor public HiveConf(Configuration other,
Class<?> cls)
+ // It overwrites the values in conf with default values
+ final HiveConf hiveConf = new HiveConf();
+ for (Entry<String, String> entry : conf) {
+ hiveConf.set(entry.getKey(), entry.getValue());
+ }
String serverURI = getMetastoreConnectURI(uri);
if (!serverURI.equals("")) {
hiveConf.set("hive.metastore.local", "false");
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/LauncherMapper.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/LauncherMapper.java?rev=1471616&r1=1471615&r2=1471616&view=diff
==============================================================================
---
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/LauncherMapper.java
(original)
+++
oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/LauncherMapper.java
Wed Apr 24 19:53:10 2013
@@ -669,7 +669,10 @@ public class LauncherMapper<K1, V1, K2,
String prepareXML = getJobConf().get(ACTION_PREPARE_XML);
if (prepareXML != null) {
if (!prepareXML.equals("")) {
- PrepareActionsDriver.doOperations(prepareXML, getJobConf());
+ Configuration actionConf = new Configuration(getJobConf());
+ String actionXml =
System.getProperty("oozie.action.conf.xml");
+ actionConf.addResource(new Path("file:///", actionXml));
+ PrepareActionsDriver.doOperations(prepareXML, actionConf);
} else {
System.out.println("There are no prepare actions to
execute.");
}
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=1471616&r1=1471615&r2=1471616&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
Wed Apr 24 19:53:10 2013
@@ -847,6 +847,16 @@ public class TestJavaActionExecutor exte
"<mkdir path='" + mkdir + "'/>" +
"<delete path='" + delete + "'/>" +
"</prepare>" +
+ "<configuration>" +
+ "<property>" +
+ "<name>dfs.umaskmode</name>" +
+ "<value>026</value>" +
+ "</property>" +
+ "<property>" +
+ "<name>fs.hdfs.impl.disable.cache</name>" +
+ "<value>true</value>" +
+ "</property>" +
+ "</configuration>" +
"<main-class>" + LauncherMainTester.class.getName() +
"</main-class>" +
"</java>";
Context context = createContext(actionXml, null);
@@ -867,6 +877,8 @@ public class TestJavaActionExecutor exte
assertEquals(WorkflowAction.Status.OK,
context.getAction().getStatus());
assertTrue(fs.exists(mkdir));
+ // Check if the action configuration is applied in the prepare block
+ assertEquals("rwxr-x--x",
fs.getFileStatus(mkdir).getPermission().toString());
assertFalse(fs.exists(delete));
}
Modified: oozie/trunk/release-log.txt
URL:
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1471616&r1=1471615&r2=1471616&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Wed Apr 24 19:53:10 2013
@@ -31,6 +31,7 @@ OOZIE-1239 Bump up trunk to 4.1.0-SNAPSH
-- Oozie 4.0.0 (unreleased)
+OOZIE-1146 FileSystem used by prepare sections should use the configuration of
the action (rohini via virag)
OOZIE-1215 add note of using escape for oozie jobs filters in doc (egashira
via rkanter)
OOZIE-1331 URIHandlerService not allowing relative path for URI's (virag)
OOZIE-1332 Flakey test
TestActionCheckXCommand.testActionCheckTransientDuringMRAction (rkanter)
Modified:
oozie/trunk/sharelib/hive/src/main/java/org/apache/oozie/action/hadoop/HiveMain.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/sharelib/hive/src/main/java/org/apache/oozie/action/hadoop/HiveMain.java?rev=1471616&r1=1471615&r2=1471616&view=diff
==============================================================================
---
oozie/trunk/sharelib/hive/src/main/java/org/apache/oozie/action/hadoop/HiveMain.java
(original)
+++
oozie/trunk/sharelib/hive/src/main/java/org/apache/oozie/action/hadoop/HiveMain.java
Wed Apr 24 19:53:10 2013
@@ -23,6 +23,7 @@ import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
+import java.lang.reflect.Field;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -33,6 +34,7 @@ import java.util.regex.Pattern;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.cli.CliDriver;
+import org.apache.hadoop.hive.conf.HiveConf;
public class HiveMain extends LauncherMain {
private static final Pattern[] HIVE_JOB_IDS_PATTERNS = {
@@ -152,6 +154,14 @@ public class HiveMain extends LauncherMa
System.out.flush();
System.out.println("------------------------");
System.out.println();
+
+ // Reset the hiveSiteURL static variable as we just created
hive-site.xml.
+ // If prepare block had a drop partition it would have been
initialized to null.
+ Field declaredField = HiveConf.class.getDeclaredField("hiveSiteURL");
+ if (declaredField != null) {
+ declaredField.setAccessible(true);
+ declaredField.set(null,
HiveConf.class.getClassLoader().getResource("hive-site.xml"));
+ }
return hiveConf;
}