Repository: oozie
Updated Branches:
  refs/heads/master 9e8598ea4 -> 268a09f92


OOZIE-2869 Ability to add/remove MapReduce jars from action classpath (gezapeti)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/268a09f9
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/268a09f9
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/268a09f9

Branch: refs/heads/master
Commit: 268a09f9243cd06106cc1795a97d0c1b52a8aee0
Parents: 9e8598e
Author: Gezapeti Cseh <gezap...@apache.org>
Authored: Fri Nov 17 14:00:33 2017 +0100
Committer: Gezapeti Cseh <gezap...@apache.org>
Committed: Fri Nov 17 14:00:33 2017 +0100

----------------------------------------------------------------------
 .../action/hadoop/DistcpActionExecutor.java     |  5 ---
 .../oozie/action/hadoop/HiveActionExecutor.java |  5 ---
 .../oozie/action/hadoop/JavaActionExecutor.java | 19 +++++----
 .../action/hadoop/MapReduceActionExecutor.java  |  6 ---
 .../oozie/action/hadoop/PigActionExecutor.java  |  5 ---
 .../action/hadoop/SparkActionExecutor.java      |  5 ---
 .../action/hadoop/SqoopActionExecutor.java      |  5 ---
 core/src/main/resources/oozie-default.xml       | 42 ++++++++++++++++++++
 release-log.txt                                 |  1 +
 sharelib/spark/pom.xml                          |  6 ++-
 10 files changed, 60 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/DistcpActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/DistcpActionExecutor.java 
b/core/src/main/java/org/apache/oozie/action/hadoop/DistcpActionExecutor.java
index 961994e..81e28f7 100644
--- 
a/core/src/main/java/org/apache/oozie/action/hadoop/DistcpActionExecutor.java
+++ 
b/core/src/main/java/org/apache/oozie/action/hadoop/DistcpActionExecutor.java
@@ -107,11 +107,6 @@ public class DistcpActionExecutor extends 
JavaActionExecutor{
     }
 
     @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
-    @Override
     protected String getLauncherMain(Configuration launcherConf, Element 
actionXml) {
         return launcherConf.get(LauncherAMUtils.CONF_OOZIE_ACTION_MAIN_CLASS, 
CONF_OOZIE_DISTCP_ACTION_MAIN_CLASS);
     }

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/HiveActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/HiveActionExecutor.java 
b/core/src/main/java/org/apache/oozie/action/hadoop/HiveActionExecutor.java
index d8c613b..f07f431 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/HiveActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/HiveActionExecutor.java
@@ -132,11 +132,6 @@ public class HiveActionExecutor extends 
ScriptLanguageActionExecutor {
     }
 
     @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
-    @Override
     protected Configuration loadHadoopDefaultResources(Context context, 
Element actionXml) {
         boolean loadDefaultResources = ConfigurationService
                 
.getBoolean(HadoopAccessorService.ACTION_CONFS_LOAD_DEFAULT_RESOURCES);

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/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 8cb76cf..a1df304 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
@@ -136,6 +136,9 @@ public class JavaActionExecutor extends ActionExecutor {
     public static final String LAUNCER_MODIFY_ACL = 
"oozie.launcher.modify.acl";
     public static final String LAUNCER_VIEW_ACL = "oozie.launcher.view.acl";
 
+    public static final String MAPREDUCE_TO_CLASSPATH = "mapreduce.needed.for";
+    public static final String 
OOZIE_LAUNCHER_ADD_MAPREDUCE_TO_CLASSPATH_PROPERTY = ActionExecutor.CONF_PREFIX 
+ MAPREDUCE_TO_CLASSPATH;
+
     public static final String MAX_EXTERNAL_STATS_SIZE = 
"oozie.external.stats.max.size";
     public static final String ACL_VIEW_JOB = "mapreduce.job.acl-view-job";
     public static final String ACL_MODIFY_JOB = "mapreduce.job.acl-modify-job";
@@ -1253,20 +1256,20 @@ public class JavaActionExecutor extends ActionExecutor {
         appContext.setApplicationName(jobName);
     }
 
-    private void setEnvironmentVariables(Configuration launcherJobConf, 
ContainerLaunchContext amContainer) throws IOException {
+    private void setEnvironmentVariables(Configuration launcherConf, 
ContainerLaunchContext amContainer) throws IOException {
         Map<String, String> env = new HashMap<>();
 
-        final String oozieLauncherEnvProperty = 
launcherJobConf.get(LauncherAM.OOZIE_LAUNCHER_ENV_PROPERTY);
+        final String oozieLauncherEnvProperty = 
launcherConf.get(LauncherAM.OOZIE_LAUNCHER_ENV_PROPERTY);
         if (oozieLauncherEnvProperty != null) {
             Map<String, String> environmentVars = 
extractEnvVarsFromOozieLauncherProps(oozieLauncherEnvProperty);
             env.putAll(environmentVars);
         }
 
         // This adds the Hadoop jars to the classpath in the Launcher JVM
-        ClasspathUtils.setupClasspath(env, launcherJobConf);
+        ClasspathUtils.setupClasspath(env, launcherConf);
 
-        if (needToAddMapReduceToClassPath()) {
-            ClasspathUtils.addMapReduceToClasspath(env, launcherJobConf);
+        if (needToAddMapReduceToClassPath(launcherConf)) {
+            ClasspathUtils.addMapReduceToClasspath(env, launcherConf);
         }
 
         addActionSpecificEnvVars(env);
@@ -1540,9 +1543,11 @@ public class JavaActionExecutor extends ActionExecutor {
      * Subclasses should override this method if necessary. By default we 
don't add
      * MR jars to the classpath.
      * @return false by default
+     * @param launcherConf
      */
-    protected boolean needToAddMapReduceToClassPath() {
-        return false;
+    private boolean needToAddMapReduceToClassPath(Configuration launcherConf) {
+        boolean defaultValue = 
launcherConf.getBoolean(OOZIE_LAUNCHER_ADD_MAPREDUCE_TO_CLASSPATH_PROPERTY, 
false);
+        return 
launcherConf.getBoolean(OOZIE_LAUNCHER_ADD_MAPREDUCE_TO_CLASSPATH_PROPERTY + 
"." + getType(), defaultValue);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
 
b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
index 233dce7..d0b8074 100644
--- 
a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
+++ 
b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
@@ -25,7 +25,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -339,11 +338,6 @@ public class MapReduceActionExecutor extends 
JavaActionExecutor {
     }
 
     @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
-    @Override
     public void check(Context context, WorkflowAction action) throws 
ActionExecutorException {
         Map<String, String> actionData = Collections.emptyMap();
         Configuration jobConf = null;

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/PigActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/PigActionExecutor.java 
b/core/src/main/java/org/apache/oozie/action/hadoop/PigActionExecutor.java
index 6541d52..8465acd 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/PigActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/PigActionExecutor.java
@@ -123,11 +123,6 @@ public class PigActionExecutor extends 
ScriptLanguageActionExecutor {
     }
 
     @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
-    @Override
     protected Configuration loadHadoopDefaultResources(Context context, 
Element actionXml) {
         boolean loadDefaultResources = ConfigurationService
                 
.getBoolean(HadoopAccessorService.ACTION_CONFS_LOAD_DEFAULT_RESOURCES);

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java 
b/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
index 80d64ec..2338ad2 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/SparkActionExecutor.java
@@ -141,11 +141,6 @@ public class SparkActionExecutor extends 
JavaActionExecutor {
     }
 
     @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
-    @Override
     protected void addActionSpecificEnvVars(Map<String, String> env) {
         env.put("SPARK_HOME", ".");
     }

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/java/org/apache/oozie/action/hadoop/SqoopActionExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/action/hadoop/SqoopActionExecutor.java 
b/core/src/main/java/org/apache/oozie/action/hadoop/SqoopActionExecutor.java
index a0dfd31..69d5e7e 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/SqoopActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/SqoopActionExecutor.java
@@ -235,11 +235,6 @@ public class SqoopActionExecutor extends 
JavaActionExecutor {
         }
     }
 
-    @Override
-    protected boolean needToAddMapReduceToClassPath() {
-        return true;
-    }
-
     /**
      * Return the sharelib name for the action.
      *

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/core/src/main/resources/oozie-default.xml
----------------------------------------------------------------------
diff --git a/core/src/main/resources/oozie-default.xml 
b/core/src/main/resources/oozie-default.xml
index 91d2811..1fd4ee3 100644
--- a/core/src/main/resources/oozie-default.xml
+++ b/core/src/main/resources/oozie-default.xml
@@ -3235,4 +3235,46 @@ will be the requeue interval for the actions which are 
waiting for a long time w
             The first one that is found will be used.
         </description>
     </property>
+
+    <property>
+        <name>oozie.action.mapreduce.needed.for.distcp</name>
+        <value>true</value>
+        <description>
+        Whether to add MapReduce jars to the DistCp action's classpath's by 
default.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.action.mapreduce.needed.for.hive</name>
+        <value>true</value>
+        <description>
+            Whether to add MapReduce jars to the Hive action's classpath's by 
default.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.action.mapreduce.needed.for.map-reduce</name>
+        <value>true</value>
+        <description>
+            Whether to add MapReduce jars to the Map-Reduce action's 
classpath's by default.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.action.mapreduce.needed.for.pig</name>
+        <value>true</value>
+        <description>
+            Whether to add MapReduce jars to the Pig action's classpath's by 
default.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.action.mapreduce.needed.for.sqoop</name>
+        <value>true</value>
+        <description>
+            Whether to add MapReduce jars to the Sqoop action's classpath's by 
default.
+        </description>
+    </property>
+
+
 </configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 8db0dde..04b04f3 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.0.0 release (trunk - unreleased)
 
+OOZIE-2869 Ability to add/remove MapReduce jars from action classpath 
(gezapeti)
 OOZIE-2296 Add an Oozie diagnostic bundle tool (asasvari)
 OOZIE-3125 TestDBLoadDump.testImportInvalidDataLeavesTablesEmpty fails 
(asasvari)
 OOZIE-3106 upgrade surefire-plugin to 2.20.1 (dbist13 via asasvari)

http://git-wip-us.apache.org/repos/asf/oozie/blob/268a09f9/sharelib/spark/pom.xml
----------------------------------------------------------------------
diff --git a/sharelib/spark/pom.xml b/sharelib/spark/pom.xml
index b40a352..65f641a 100644
--- a/sharelib/spark/pom.xml
+++ b/sharelib/spark/pom.xml
@@ -43,7 +43,11 @@
             <artifactId>guava</artifactId>
             <version>${spark.guava.version}</version>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-common</artifactId>
+            <scope>compile</scope>
+        </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>

Reply via email to