You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by ve...@apache.org on 2013/09/24 00:53:19 UTC
[3/4] git commit: FALCON-103 Upgrade oozie to 4.0.0. Contributed by
Venkatesh Seetharam
FALCON-103 Upgrade oozie to 4.0.0. Contributed by Venkatesh Seetharam
Project: http://git-wip-us.apache.org/repos/asf/incubator-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-falcon/commit/929fa019
Tree: http://git-wip-us.apache.org/repos/asf/incubator-falcon/tree/929fa019
Diff: http://git-wip-us.apache.org/repos/asf/incubator-falcon/diff/929fa019
Branch: refs/heads/FALCON-85-new
Commit: 929fa019d300968fd170cf2737d6b540e53d1d65
Parents: f84ed0c
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Wed Sep 11 15:17:43 2013 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Mon Sep 23 15:49:16 2013 -0700
----------------------------------------------------------------------
CHANGES.txt | 4 +-
Installation-steps.txt | 2 +-
build-tools/pom.xml | 2 +-
build-tools/src/bin/OOZIE-674.sh | 45 -
build-tools/src/bin/oozie-patch-pkg.sh | 45 +
build-tools/src/patch/oozie-4.0.0-falcon.patch | 1075 ++++++++++++++++++
.../src/patch/oozie-bundle-el-extension.patch | 18 +
.../org/apache/falcon/entity/v0/Frequency.java | 16 +-
.../apache/falcon/entity/v0/TestFrequency.java | 3 +-
.../org/apache/falcon/entity/EntityUtil.java | 14 +-
common/src/main/resources/log4j.xml | 8 +-
docs/src/site/twiki/InstallationSteps.twiki | 2 +-
hadoop-webapp/pom.xml | 31 +
hadoop-webapp/src/main/resources/log4j.xml | 2 +-
messaging/src/main/resources/log4j.xml | 4 +-
oozie-3.2.0-incubating-el.patch | 702 ------------
oozie-bundle-el-extension.patch | 18 -
.../oozie/extensions/OozieELExtensions.java | 2 +-
.../oozie/extensions/TestOozieELExtensions.java | 6 +-
.../falcon/workflow/engine/NullCoordJob.java | 4 +-
.../workflow/engine/OozieWorkflowEngine.java | 14 +-
pom.xml | 100 +-
.../falcon/service/SLAMonitoringService.java | 2 +-
prism/src/main/resources/log4j.xml | 8 +-
src/bin/package.sh | 20 +-
webapp/src/main/resources/log4j.xml | 8 +-
webapp/src/main/webapp/index.html | 31 +
27 files changed, 1348 insertions(+), 838 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index f31cf95..ece4e9b 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,7 +6,9 @@ Trunk (Unreleased)
NEW FEATURES
- FALCON-96 Hive client to talk to the metastore. (Venkatesh
+ FALCON-103 Upgrade oozie to 4.0.x. (Venkatesh Seetharam)
+
+ FALCON-96 Hive client to talk to the metastore. (Venkatesh
Seetharam via Srikanth Sundarrajan)
FALCON-87 Hive table integration with feed entity. (Venkatesh
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/Installation-steps.txt
----------------------------------------------------------------------
diff --git a/Installation-steps.txt b/Installation-steps.txt
index a0bcf46..cb754ab 100644
--- a/Installation-steps.txt
+++ b/Installation-steps.txt
@@ -91,4 +91,4 @@ d. Stopping Falcon Server
* cd <<project home>>
* src/bin/pacakge.sh <<hadoop-version>>
>> ex. src/bin/pacakge.sh 1.1.2 or src/bin/pacakge.sh 0.20.2-cdh3u5
- >> oozie bundle available in target/package/oozie-3.2.0-incubating/distro/target/oozie-3.2.2-distro.tar.gz
\ No newline at end of file
+ >> oozie bundle available in target/package/oozie-4.0.0/distro/target/oozie-4.0.0-distro.tar.gz
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/build-tools/pom.xml
----------------------------------------------------------------------
diff --git a/build-tools/pom.xml b/build-tools/pom.xml
index ba8f758..8aae5fd 100644
--- a/build-tools/pom.xml
+++ b/build-tools/pom.xml
@@ -40,7 +40,7 @@
<goal>exec</goal>
</goals>
<configuration>
- <executable>src/bin/OOZIE-674.sh</executable>
+ <executable>src/bin/oozie-patch-pkg.sh</executable>
</configuration>
</execution>
</executions>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/build-tools/src/bin/OOZIE-674.sh
----------------------------------------------------------------------
diff --git a/build-tools/src/bin/OOZIE-674.sh b/build-tools/src/bin/OOZIE-674.sh
deleted file mode 100755
index a23a5c4..0000000
--- a/build-tools/src/bin/OOZIE-674.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-if [ -d `mvn help:effective-settings | grep localRepository | cut -d\> -f2 | cut -d\< -f1`/org/apache/oozie/oozie-core/3.2.2 ]
-then
- echo "Oozie already setup. skipping";
- exit 0;
-fi
-
-mkdir -p ../target
-pushd ../target
-rm -rf oozie-3.2.0-incubating*
-curl -v "http://www.apache.org/dist/oozie/3.2.0-incubating/oozie-3.2.0-incubating.tar.gz" -o oozie-3.2.0-incubating.tgz
-tar -xzvf oozie-3.2.0-incubating.tgz
-cd oozie-3.2.0-incubating
-pwd
-patch -p0 < ../../oozie-3.2.0-incubating-el.patch
-if [ -z "${MAVEN_HOME}" ]
-then
- export MVN_CMD=`which mvn`;
-else
- export MVN_CMD=${MAVEN_HOME}/bin/mvn;
-fi
-echo "Using maven from " $MVN_CMD
-$MVN_CMD clean install -DskipTests
-rm -rf oozie-3.2.0-incubating*
-popd
-
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/build-tools/src/bin/oozie-patch-pkg.sh
----------------------------------------------------------------------
diff --git a/build-tools/src/bin/oozie-patch-pkg.sh b/build-tools/src/bin/oozie-patch-pkg.sh
new file mode 100755
index 0000000..4bb2e9c
--- /dev/null
+++ b/build-tools/src/bin/oozie-patch-pkg.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+if [ -d `mvn help:effective-settings | grep localRepository | cut -d\> -f2 | cut -d\< -f1`/org/apache/oozie/oozie-core/4.0.0 ]
+then
+ echo "Oozie already setup. skipping";
+ exit 0;
+fi
+
+mkdir -p ../target
+pushd ../target
+rm -rf oozie-4.0.0*
+curl -v "http://www.apache.org/dist/oozie/4.0.0/oozie-4.0.0.tar.gz" -o oozie-4.0.0.tgz
+tar -xzvf oozie-4.0.0.tgz
+cd oozie-4.0.0
+pwd
+patch -p0 < ../../build-tools/src/patch/oozie-4.0.0-falcon.patch
+if [ -z "${MAVEN_HOME}" ]
+then
+ export MVN_CMD=`which mvn`;
+else
+ export MVN_CMD=${MAVEN_HOME}/bin/mvn;
+fi
+echo "Using maven from " $MVN_CMD
+$MVN_CMD clean install -DskipTests
+cd ..
+rm -rf oozie-4.0.0*
+popd
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/build-tools/src/patch/oozie-4.0.0-falcon.patch
----------------------------------------------------------------------
diff --git a/build-tools/src/patch/oozie-4.0.0-falcon.patch b/build-tools/src/patch/oozie-4.0.0-falcon.patch
new file mode 100644
index 0000000..131b7fe
--- /dev/null
+++ b/build-tools/src/patch/oozie-4.0.0-falcon.patch
@@ -0,0 +1,1075 @@
+Index: hadooplibs/hadoop-test-1/pom.xml
+===================================================================
+--- hadooplibs/hadoop-test-1/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-test-1/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-test</artifactId>
+- <version>1.1.1.oozie-4.0.0</version>
++ <version>1.1.1.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version} Test</description>
+ <name>Apache Oozie Hadoop ${project.version} Test</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-test-2/pom.xml
+===================================================================
+--- hadooplibs/hadoop-test-2/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-test-2/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-test</artifactId>
+- <version>2.2.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>2.2.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version} Test</description>
+ <name>Apache Oozie Hadoop ${project.version} Test</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-test-0.23/pom.xml
+===================================================================
+--- hadooplibs/hadoop-test-0.23/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-test-0.23/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-test</artifactId>
+- <version>0.23.5.oozie-4.0.0</version>
++ <version>0.23.5.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version} Test</description>
+ <name>Apache Oozie Hadoop ${project.version} Test</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-test-3/pom.xml
+===================================================================
+--- hadooplibs/hadoop-test-3/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-test-3/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-test</artifactId>
+- <version>3.0.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>3.0.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version} Test</description>
+ <name>Apache Oozie Hadoop ${project.version} Test</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-1/pom.xml
+===================================================================
+--- hadooplibs/hadoop-1/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-1/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop</artifactId>
+- <version>1.1.1.oozie-4.0.0</version>
++ <version>1.1.1.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version}</description>
+ <name>Apache Oozie Hadoop ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-2/pom.xml
+===================================================================
+--- hadooplibs/hadoop-2/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-2/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop</artifactId>
+- <version>2.2.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>2.2.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version}</description>
+ <name>Apache Oozie Hadoop ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-0.23/pom.xml
+===================================================================
+--- hadooplibs/hadoop-0.23/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-0.23/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop</artifactId>
+- <version>0.23.5.oozie-4.0.0</version>
++ <version>0.23.5.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version}</description>
+ <name>Apache Oozie Hadoop ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-3/pom.xml
+===================================================================
+--- hadooplibs/hadoop-3/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-3/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop</artifactId>
+- <version>3.0.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>3.0.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop ${project.version}</description>
+ <name>Apache Oozie Hadoop ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/pom.xml
+===================================================================
+--- hadooplibs/pom.xml (revision 1521237)
++++ hadooplibs/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadooplibs</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop Libs</description>
+ <name>Apache Oozie Hadoop Libs</name>
+ <packaging>pom</packaging>
+Index: hadooplibs/hadoop-distcp-1/pom.xml
+===================================================================
+--- hadooplibs/hadoop-distcp-1/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-distcp-1/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-distcp</artifactId>
+- <version>1.1.1.oozie-4.0.0</version>
++ <version>1.1.1.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop Distcp ${project.version}</description>
+ <name>Apache Oozie Hadoop Distcp ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-distcp-2/pom.xml
+===================================================================
+--- hadooplibs/hadoop-distcp-2/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-distcp-2/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-distcp</artifactId>
+- <version>2.2.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>2.2.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop Distcp ${project.version}</description>
+ <name>Apache Oozie Hadoop Distcp ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-distcp-0.23/pom.xml
+===================================================================
+--- hadooplibs/hadoop-distcp-0.23/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-distcp-0.23/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-distcp</artifactId>
+- <version>0.23.5.oozie-4.0.0</version>
++ <version>0.23.5.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop Distcp ${project.version}</description>
+ <name>Apache Oozie Hadoop Distcp ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hadooplibs/hadoop-distcp-3/pom.xml
+===================================================================
+--- hadooplibs/hadoop-distcp-3/pom.xml (revision 1521237)
++++ hadooplibs/hadoop-distcp-3/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hadoop-distcp</artifactId>
+- <version>3.0.0-SNAPSHOT.oozie-4.0.0</version>
++ <version>3.0.0-SNAPSHOT.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hadoop Distcp ${project.version}</description>
+ <name>Apache Oozie Hadoop Distcp ${project.version}</name>
+ <packaging>jar</packaging>
+Index: docs/pom.xml
+===================================================================
+--- docs/pom.xml (revision 1521237)
++++ docs/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-docs</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Docs</description>
+ <name>Apache Oozie Docs</name>
+ <packaging>war</packaging>
+Index: core/src/main/conf/oozie-site.xml
+===================================================================
+--- core/src/main/conf/oozie-site.xml (revision 1521237)
++++ core/src/main/conf/oozie-site.xml (working copy)
+@@ -127,7 +127,7 @@
+
+ <property>
+ <name>oozie.service.JPAService.create.db.schema</name>
+- <value>false</value>
++ <value>true</value>
+ <description>
+ Creates Oozie DB.
+
+@@ -336,6 +336,164 @@
+ </description>
+ </property>
+
++ <!-- HCatalog Integration Properties -->
++ <property>
++ <name>oozie.service.URIHandlerService.uri.handlers</name>
++ <value>org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler</value>
++ <description>
++ Enlist the different uri handlers supported for data availability checks.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.services.ext</name>
++ <value>
++ org.apache.oozie.service.JMSAccessorService,
++ org.apache.oozie.service.PartitionDependencyManagerService,
++ org.apache.oozie.service.HCatAccessorService
++ </value>
++ <description>
++ To add/replace services defined in 'oozie.services' with custom implementations.
++ Class names must be separated by commas.
++ </description>
++ </property>
++
++ <!-- Coord EL Functions Properties -->
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-job-submit-instances</name>
++ <value>
++ now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo,
++ today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo,
++ yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo,
++ currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo,
++ lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo,
++ currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo,
++ lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo,
++ formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo,
++ latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,
++ future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ This property is a convenience property to add extensions to the built in executors without having to
++ include all the built in ones.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-action-create-inst</name>
++ <value>
++ now=org.apache.oozie.extensions.OozieELExtensions#ph2_now_inst,
++ today=org.apache.oozie.extensions.OozieELExtensions#ph2_today_inst,
++ yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday_inst,
++ currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth_inst,
++ lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth_inst,
++ currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear_inst,
++ lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear_inst,
++ latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,
++ future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo,
++ formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ This property is a convenience property to add extensions to the built in executors without having to
++ include all the built in ones.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-action-create</name>
++ <value>
++ now=org.apache.oozie.extensions.OozieELExtensions#ph2_now,
++ today=org.apache.oozie.extensions.OozieELExtensions#ph2_today,
++ yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday,
++ currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth,
++ lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth,
++ currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear,
++ lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear,
++ latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,
++ future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo,
++ formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ This property is a convenience property to add extensions to the built in executors without having to
++ include all the built in ones.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-job-submit-data</name>
++ <value>
++ now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo,
++ today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo,
++ yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo,
++ currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo,
++ lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo,
++ currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo,
++ lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo,
++ dataIn=org.apache.oozie.extensions.OozieELExtensions#ph1_dataIn_echo,
++ instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_wrap,
++ formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo,
++ dateOffset=org.apache.oozie.coord.CoordELFunctions#ph1_coord_dateOffset_echo,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL constant declarations, separated by commas, format is [PREFIX:]NAME=CLASS#CONSTANT.
++ This property is a convenience property to add extensions to the built in executors without having to
++ include all the built in ones.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-action-start</name>
++ <value>
++ now=org.apache.oozie.extensions.OozieELExtensions#ph2_now,
++ today=org.apache.oozie.extensions.OozieELExtensions#ph2_today,
++ yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday,
++ currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth,
++ lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth,
++ currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear,
++ lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear,
++ latest=org.apache.oozie.coord.CoordELFunctions#ph3_coord_latest,
++ future=org.apache.oozie.coord.CoordELFunctions#ph3_coord_future,
++ dataIn=org.apache.oozie.extensions.OozieELExtensions#ph3_dataIn,
++ instanceTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime,
++ dateOffset=org.apache.oozie.coord.CoordELFunctions#ph3_coord_dateOffset,
++ formatTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_formatTime,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ This property is a convenience property to add extensions to the built in executors without having to
++ include all the built in ones.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-sla-submit</name>
++ <value>
++ instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_fixed,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ </description>
++ </property>
++
++ <property>
++ <name>oozie.service.ELService.ext.functions.coord-sla-create</name>
++ <value>
++ instanceTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_nominalTime,
++ user=org.apache.oozie.coord.CoordELFunctions#coord_user
++ </value>
++ <description>
++ EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
++ </description>
++ </property>
++
+ <!-- Proxyuser Configuration -->
+
+ <!--
+Index: core/pom.xml
+===================================================================
+--- core/pom.xml (revision 1521237)
++++ core/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-core</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Core</description>
+ <name>Apache Oozie Core</name>
+ <packaging>jar</packaging>
+Index: sharelib/pig/pom.xml
+===================================================================
+--- sharelib/pig/pom.xml (revision 1521237)
++++ sharelib/pig/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-pig</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Pig</description>
+ <name>Apache Oozie Share Lib Pig</name>
+ <packaging>jar</packaging>
+Index: sharelib/sqoop/pom.xml
+===================================================================
+--- sharelib/sqoop/pom.xml (revision 1521237)
++++ sharelib/sqoop/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-sqoop</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Sqoop</description>
+ <name>Apache Oozie Share Lib Sqoop</name>
+ <packaging>jar</packaging>
+Index: sharelib/hcatalog/pom.xml
+===================================================================
+--- sharelib/hcatalog/pom.xml (revision 1521237)
++++ sharelib/hcatalog/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-hcatalog</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib HCatalog</description>
+ <name>Apache Oozie Share Lib HCatalog</name>
+ <packaging>jar</packaging>
+Index: sharelib/oozie/pom.xml
+===================================================================
+--- sharelib/oozie/pom.xml (revision 1521237)
++++ sharelib/oozie/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-oozie</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Oozie</description>
+ <name>Apache Oozie Share Lib Oozie</name>
+ <packaging>jar</packaging>
+Index: sharelib/distcp/pom.xml
+===================================================================
+--- sharelib/distcp/pom.xml (revision 1521237)
++++ sharelib/distcp/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-distcp</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Distcp</description>
+ <name>Apache Oozie Share Lib Distcp</name>
+ <packaging>jar</packaging>
+Index: sharelib/streaming/pom.xml
+===================================================================
+--- sharelib/streaming/pom.xml (revision 1521237)
++++ sharelib/streaming/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-streaming</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Streaming</description>
+ <name>Apache Oozie Share Lib Streaming</name>
+ <packaging>jar</packaging>
+Index: sharelib/pom.xml
+===================================================================
+--- sharelib/pom.xml (revision 1521237)
++++ sharelib/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib</description>
+ <name>Apache Oozie Share Lib</name>
+ <packaging>pom</packaging>
+Index: sharelib/hive/pom.xml
+===================================================================
+--- sharelib/hive/pom.xml (revision 1521237)
++++ sharelib/hive/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../..</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-sharelib-hive</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Share Lib Hive</description>
+ <name>Apache Oozie Share Lib Hive</name>
+ <packaging>jar</packaging>
+Index: pom.xml
+===================================================================
+--- pom.xml (revision 1521237)
++++ pom.xml (working copy)
+@@ -21,7 +21,7 @@
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Main</description>
+ <name>Apache Oozie Main</name>
+ <packaging>pom</packaging>
+Index: hbaselibs/hbase-0.94/pom.xml
+===================================================================
+--- hbaselibs/hbase-0.94/pom.xml (revision 1521237)
++++ hbaselibs/hbase-0.94/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hbase</artifactId>
+- <version>0.94.2.oozie-4.0.0</version>
++ <version>0.94.2.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie Hbase ${project.version}</description>
+ <name>Apache Oozie Hbase ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hbaselibs/pom.xml
+===================================================================
+--- hbaselibs/pom.xml (revision 1521237)
++++ hbaselibs/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hbaselibs</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Hbase Libs</description>
+ <name>Apache Oozie Hbase Libs</name>
+ <packaging>pom</packaging>
+Index: hcataloglibs/hcatalog-0.5/pom.xml
+===================================================================
+--- hcataloglibs/hcatalog-0.5/pom.xml (revision 1521237)
++++ hcataloglibs/hcatalog-0.5/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hcatalog</artifactId>
+- <version>0.5.0.oozie-4.0.0</version>
++ <version>0.5.0.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie HCatalog ${project.version}</description>
+ <name>Apache Oozie HCatalog ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hcataloglibs/hcatalog-0.6/pom.xml
+===================================================================
+--- hcataloglibs/hcatalog-0.6/pom.xml (revision 1521237)
++++ hcataloglibs/hcatalog-0.6/pom.xml (working copy)
+@@ -22,12 +22,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hcatalog</artifactId>
+- <version>0.6.0.oozie-4.0.0</version>
++ <version>0.6.0.oozie-4.0.0-falcon</version>
+ <description>Apache Oozie HCatalog ${project.version}</description>
+ <name>Apache Oozie HCatalog ${project.version}</name>
+ <packaging>jar</packaging>
+Index: hcataloglibs/pom.xml
+===================================================================
+--- hcataloglibs/pom.xml (revision 1521237)
++++ hcataloglibs/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-hcataloglibs</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie HCatalog Libs</description>
+ <name>Apache Oozie HCatalog Libs</name>
+ <packaging>pom</packaging>
+Index: minitest/pom.xml
+===================================================================
+--- minitest/pom.xml (revision 1521237)
++++ minitest/pom.xml (working copy)
+@@ -23,12 +23,12 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+
+ <groupId>org.apache.oozie.test</groupId>
+ <artifactId>oozie-mini</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie MiniOozie</description>
+ <name>Apache Oozie MiniOozie</name>
+
+Index: tools/pom.xml
+===================================================================
+--- tools/pom.xml (revision 1521237)
++++ tools/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-tools</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Tools</description>
+ <name>Apache Oozie Tools</name>
+ <packaging>jar</packaging>
+Index: distro/pom.xml
+===================================================================
+--- distro/pom.xml (revision 1521237)
++++ distro/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-distro</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Distro</description>
+ <name>Apache Oozie Distro</name>
+ <packaging>jar</packaging>
+Index: login/pom.xml
+===================================================================
+--- login/pom.xml (revision 1521237)
++++ login/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-login</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Login</description>
+ <name>Apache Oozie Login</name>
+ <packaging>war</packaging>
+Index: examples/pom.xml
+===================================================================
+--- examples/pom.xml (revision 1521237)
++++ examples/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-examples</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Examples</description>
+ <name>Apache Oozie Examples</name>
+ <packaging>jar</packaging>
+Index: client/pom.xml
+===================================================================
+--- client/pom.xml (revision 1521237)
++++ client/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-client</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie Client</description>
+ <name>Apache Oozie Client</name>
+ <packaging>jar</packaging>
+Index: webapp/src/main/webapp/WEB-INF/web.xml
+===================================================================
+--- webapp/src/main/webapp/WEB-INF/web.xml (revision 1521237)
++++ webapp/src/main/webapp/WEB-INF/web.xml (working copy)
+@@ -16,13 +16,219 @@
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" [
+- <!ENTITY web-common SYSTEM "web-common.xml">
+-]>
++<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+ <web-app>
++ <display-name>OOZIE</display-name>
+
+- <!-- The servlets are defined in web-common.xml -->
+- &web-common;
++ <!-- Listeners -->
++ <listener>
++ <listener-class>org.apache.oozie.servlet.ServicesLoader</listener-class>
++ </listener>
+
+-</web-app>
++ <!-- Servlets -->
++ <servlet>
++ <servlet-name>versions</servlet-name>
++ <display-name>WS API for Workflow Instances</display-name>
++ <servlet-class>org.apache.oozie.servlet.VersionServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v0admin</servlet-name>
++ <display-name>Oozie admin</display-name>
++ <servlet-class>org.apache.oozie.servlet.V0AdminServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v1admin</servlet-name>
++ <display-name>Oozie admin</display-name>
++ <servlet-class>org.apache.oozie.servlet.V1AdminServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v2admin</servlet-name>
++ <display-name>Oozie admin</display-name>
++ <servlet-class>org.apache.oozie.servlet.V2AdminServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>callback</servlet-name>
++ <display-name>Callback Notification</display-name>
++ <servlet-class>org.apache.oozie.servlet.CallbackServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v0jobs</servlet-name>
++ <display-name>WS API for Workflow Jobs</display-name>
++ <servlet-class>org.apache.oozie.servlet.V0JobsServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v1jobs</servlet-name>
++ <display-name>WS API for Workflow Jobs</display-name>
++ <servlet-class>org.apache.oozie.servlet.V1JobsServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v0job</servlet-name>
++ <display-name>WS API for a specific Workflow Job</display-name>
++ <servlet-class>org.apache.oozie.servlet.V0JobServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v1job</servlet-name>
++ <display-name>WS API for a specific Workflow Job</display-name>
++ <servlet-class>org.apache.oozie.servlet.V1JobServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v2job</servlet-name>
++ <display-name>WS API for a specific Workflow Job</display-name>
++ <servlet-class>org.apache.oozie.servlet.V2JobServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>sla-event</servlet-name>
++ <display-name>WS API for specific SLA Events</display-name>
++ <servlet-class>org.apache.oozie.servlet.SLAServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <servlet>
++ <servlet-name>v2sla</servlet-name>
++ <display-name>WS API for specific SLA Events</display-name>
++ <servlet-class>org.apache.oozie.servlet.V2SLAServlet</servlet-class>
++ <load-on-startup>1</load-on-startup>
++ </servlet>
++
++ <!-- servlet-mapping -->
++ <servlet-mapping>
++ <servlet-name>versions</servlet-name>
++ <url-pattern>/versions</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v0admin</servlet-name>
++ <url-pattern>/v0/admin/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v1admin</servlet-name>
++ <url-pattern>/v1/admin/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v2admin</servlet-name>
++ <url-pattern>/v2/admin/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>callback</servlet-name>
++ <url-pattern>/callback/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v0jobs</servlet-name>
++ <url-pattern>/v0/jobs</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v1jobs</servlet-name>
++ <url-pattern>/v1/jobs</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v1jobs</servlet-name>
++ <url-pattern>/v2/jobs</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v0job</servlet-name>
++ <url-pattern>/v0/job/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v1job</servlet-name>
++ <url-pattern>/v1/job/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v2job</servlet-name>
++ <url-pattern>/v2/job/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>sla-event</servlet-name>
++ <url-pattern>/v1/sla/*</url-pattern>
++ </servlet-mapping>
++
++ <servlet-mapping>
++ <servlet-name>v2sla</servlet-name>
++ <url-pattern>/v2/sla/*</url-pattern>
++ </servlet-mapping>
++
++ <!-- welcome-file -->
++ <welcome-file-list>
++ <welcome-file>index.html</welcome-file>
++ </welcome-file-list>
++
++ <filter>
++ <filter-name>hostnameFilter</filter-name>
++ <filter-class>org.apache.oozie.servlet.HostnameFilter</filter-class>
++ </filter>
++
++ <filter>
++ <filter-name>authenticationfilter</filter-name>
++ <filter-class>org.apache.oozie.servlet.AuthFilter</filter-class>
++ </filter>
++
++ <filter-mapping>
++ <filter-name>hostnameFilter</filter-name>
++ <url-pattern>*</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/versions/*</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/v0/*</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/v1/*</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/index.html</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>*.js</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/ext-2.2/*</url-pattern>
++ </filter-mapping>
++
++ <filter-mapping>
++ <filter-name>authenticationfilter</filter-name>
++ <url-pattern>/docs/*</url-pattern>
++ </filter-mapping>
++</web-app>
+\ No newline at end of file
+Index: webapp/pom.xml
+===================================================================
+--- webapp/pom.xml (revision 1521237)
++++ webapp/pom.xml (working copy)
+@@ -22,11 +22,11 @@
+ <parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-main</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ </parent>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-webapp</artifactId>
+- <version>4.0.0</version>
++ <version>4.0.0-falcon</version>
+ <description>Apache Oozie WebApp</description>
+ <name>Apache Oozie WebApp</name>
+ <packaging>war</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/build-tools/src/patch/oozie-bundle-el-extension.patch
----------------------------------------------------------------------
diff --git a/build-tools/src/patch/oozie-bundle-el-extension.patch b/build-tools/src/patch/oozie-bundle-el-extension.patch
new file mode 100644
index 0000000..61abce8
--- /dev/null
+++ b/build-tools/src/patch/oozie-bundle-el-extension.patch
@@ -0,0 +1,18 @@
+diff --git webapp/pom.xml webapp/pom.xml
+index 38ec438..c3bc9b8 100644
+--- webapp/pom.xml
++++ webapp/pom.xml
+@@ -33,6 +33,13 @@
+
+ <dependencies>
+ <dependency>
++ <groupId>org.apache.falcon</groupId>
++ <artifactId>falcon-oozie-el-extension</artifactId>
++ <version>0.4-SNAPSHOT</version>
++ <scope>compile</scope>
++ </dependency>
++
++ <dependency>
+ <groupId>org.apache.oozie</groupId>
+ <artifactId>oozie-core</artifactId>
+ <scope>compile</scope>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/client/src/main/java/org/apache/falcon/entity/v0/Frequency.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/falcon/entity/v0/Frequency.java b/client/src/main/java/org/apache/falcon/entity/v0/Frequency.java
index f4c1800..a9e4b90 100644
--- a/client/src/main/java/org/apache/falcon/entity/v0/Frequency.java
+++ b/client/src/main/java/org/apache/falcon/entity/v0/Frequency.java
@@ -46,9 +46,9 @@ public class Frequency {
}
private TimeUnit timeUnit;
- private int frequency;
+ private String frequency;
- public Frequency(int freq, TimeUnit timeUnit) {
+ public Frequency(String freq, TimeUnit timeUnit) {
this.frequency = freq;
this.timeUnit = timeUnit;
}
@@ -60,7 +60,7 @@ public class Frequency {
}
timeUnit = TimeUnit.valueOf(matcher.group(1));
- frequency = Integer.valueOf(matcher.group(2));
+ frequency = matcher.group(2);
}
public static Frequency fromString(String strValue) {
@@ -80,10 +80,14 @@ public class Frequency {
return timeUnit;
}
- public int getFrequency() {
+ public String getFrequency() {
return frequency;
}
+ public int getFrequencyAsInt() {
+ return Integer.valueOf(frequency);
+ }
+
@Override
public boolean equals(Object obj) {
if (obj == null) {
@@ -95,7 +99,7 @@ public class Frequency {
}
Frequency freq = (Frequency) obj;
- return this == freq || this.getFrequency() == freq.getFrequency()
+ return this == freq || this.getFrequency().equals(freq.getFrequency())
&& this.getTimeUnit() == freq.getTimeUnit();
}
@@ -103,7 +107,7 @@ public class Frequency {
@Override
public int hashCode() {
int result = timeUnit.hashCode();
- result = 31 * result + frequency;
+ result = 31 * result + frequency.hashCode();
return result;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/client/src/test/java/org/apache/falcon/entity/v0/TestFrequency.java
----------------------------------------------------------------------
diff --git a/client/src/test/java/org/apache/falcon/entity/v0/TestFrequency.java b/client/src/test/java/org/apache/falcon/entity/v0/TestFrequency.java
index e5eb3f1..56e442f 100644
--- a/client/src/test/java/org/apache/falcon/entity/v0/TestFrequency.java
+++ b/client/src/test/java/org/apache/falcon/entity/v0/TestFrequency.java
@@ -31,6 +31,7 @@ public class TestFrequency {
String freqStr = "minutes(10)";
Frequency freq = Frequency.fromString(freqStr);
Assert.assertEquals(freq.getTimeUnit().name(), "minutes");
- Assert.assertEquals(freq.getFrequency(), 10);
+ Assert.assertEquals(freq.getFrequency(), "10");
+ Assert.assertEquals(freq.getFrequencyAsInt(), 10);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/common/src/main/java/org/apache/falcon/entity/EntityUtil.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/falcon/entity/EntityUtil.java b/common/src/main/java/org/apache/falcon/entity/EntityUtil.java
index fc4a467..7ceaf97 100644
--- a/common/src/main/java/org/apache/falcon/entity/EntityUtil.java
+++ b/common/src/main/java/org/apache/falcon/entity/EntityUtil.java
@@ -253,12 +253,12 @@ public final class EntityUtil {
default:
}
+ final int freq = frequency.getFrequencyAsInt();
if (count > 2) {
- startCal.add(frequency.getTimeUnit().getCalendarUnit(),
- ((count - 2) / frequency.getFrequency()) * frequency.getFrequency());
+ startCal.add(frequency.getTimeUnit().getCalendarUnit(), ((count - 2) / freq) * freq);
}
while (startCal.getTime().before(now)) {
- startCal.add(frequency.getTimeUnit().getCalendarUnit(), frequency.getFrequency());
+ startCal.add(frequency.getTimeUnit().getCalendarUnit(), freq);
}
return startCal.getTime();
}
@@ -288,15 +288,15 @@ public final class EntityUtil {
default:
}
+ final int freq = frequency.getFrequencyAsInt();
if (count > 2) {
- startCal.add(frequency.getTimeUnit().getCalendarUnit(),
- (count / frequency.getFrequency()) * frequency.getFrequency());
- count = (count / frequency.getFrequency());
+ startCal.add(frequency.getTimeUnit().getCalendarUnit(), (count / freq) * freq);
+ count = (count / freq);
} else {
count = 0;
}
while (startCal.getTime().before(instanceTime)) {
- startCal.add(frequency.getTimeUnit().getCalendarUnit(), frequency.getFrequency());
+ startCal.add(frequency.getTimeUnit().getCalendarUnit(), freq);
count++;
}
return count + 1;
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/common/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/common/src/main/resources/log4j.xml b/common/src/main/resources/log4j.xml
index 959e26c..734d17c 100644
--- a/common/src/main/resources/log4j.xml
+++ b/common/src/main/resources/log4j.xml
@@ -28,7 +28,7 @@
</appender>
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/application.log"/>
+ <param name="File" value="${user.dir}/target/logs/application.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
@@ -37,7 +37,7 @@
</appender>
<appender name="AUDIT" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/audit.log"/>
+ <param name="File" value="${user.dir}/target/logs/audit.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
@@ -46,7 +46,7 @@
</appender>
<appender name="TRANSACTIONLOG" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/tranlog.log"/>
+ <param name="File" value="${user.dir}/target/logs/tranlog.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
@@ -55,7 +55,7 @@
</appender>
<appender name="METRIC" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/metric.log"/>
+ <param name="File" value="${user.dir}/target/logs/metric.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/docs/src/site/twiki/InstallationSteps.twiki
----------------------------------------------------------------------
diff --git a/docs/src/site/twiki/InstallationSteps.twiki b/docs/src/site/twiki/InstallationSteps.twiki
index ab23d49..a2ecccf 100644
--- a/docs/src/site/twiki/InstallationSteps.twiki
+++ b/docs/src/site/twiki/InstallationSteps.twiki
@@ -147,5 +147,5 @@ mkdir target/package
src/bin/pacakge.sh <<hadoop-version>>
>> ex. src/bin/pacakge.sh 1.1.2 or src/bin/pacakge.sh 0.20.2-cdh3u5
->> oozie bundle available in target/package/oozie-3.2.0-incubating/distro/target/oozie-3.2.2-distro.tar.gz
+>> oozie bundle available in target/package/oozie-4.0.0/distro/target/oozie-4.0.0-distro.tar.gz
</verbatim>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/hadoop-webapp/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-webapp/pom.xml b/hadoop-webapp/pom.xml
index f7a8eb1..125c2e1 100644
--- a/hadoop-webapp/pom.xml
+++ b/hadoop-webapp/pom.xml
@@ -118,6 +118,37 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.hive</groupId>
+ <artifactId>hive-metastore</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hcatalog</groupId>
+ <artifactId>webhcat</artifactId>
+ </dependency>
+
+ <!-- Oozie dependencies -->
+ <dependency>
+ <groupId>org.apache.hive</groupId>
+ <artifactId>hive-exec</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hcatalog</groupId>
+ <artifactId>webhcat-java-client</artifactId>
+ </dependency>
+
+ <!-- Hive Metastore and WebHcat fails with out these dependencies -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/hadoop-webapp/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/hadoop-webapp/src/main/resources/log4j.xml b/hadoop-webapp/src/main/resources/log4j.xml
index 97ef239..d69e921 100644
--- a/hadoop-webapp/src/main/resources/log4j.xml
+++ b/hadoop-webapp/src/main/resources/log4j.xml
@@ -22,7 +22,7 @@
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/jetty.log"/>
+ <param name="File" value="${user.dir}/target/logs/jetty.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/929fa019/messaging/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/messaging/src/main/resources/log4j.xml b/messaging/src/main/resources/log4j.xml
index 50f3cdf..f889a39 100644
--- a/messaging/src/main/resources/log4j.xml
+++ b/messaging/src/main/resources/log4j.xml
@@ -28,7 +28,7 @@
</appender>
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/application.log"/>
+ <param name="File" value="${user.dir}/target/logs/application.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">
@@ -37,7 +37,7 @@
</appender>
<appender name="AUDIT" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="${user.dir}/logs/audit.log"/>
+ <param name="File" value="${user.dir}/target/logs/audit.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="debug"/>
<layout class="org.apache.log4j.PatternLayout">