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">