You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by ro...@apache.org on 2014/05/13 19:03:13 UTC

git commit: OOZIE-1831 Oozie upgrade fails if workflow jobs are in running or suspended state (satish.mittal via rohini)

Repository: oozie
Updated Branches:
  refs/heads/master d77934462 -> 83dec8b0e


OOZIE-1831 Oozie upgrade fails if workflow jobs are in running or suspended state (satish.mittal via rohini)


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

Branch: refs/heads/master
Commit: 83dec8b0ebe37c84e2aabce35b60ed865b51b028
Parents: d779344
Author: Rohini Palaniswamy <ro...@yahoo-inc.com>
Authored: Tue May 13 10:03:01 2014 -0700
Committer: Rohini Palaniswamy <ro...@yahoo-inc.com>
Committed: Tue May 13 10:03:01 2014 -0700

----------------------------------------------------------------------
 release-log.txt                                 |  5 +--
 .../java/org/apache/oozie/tools/OozieDBCLI.java | 38 ++++++++++++++++++--
 2 files changed, 39 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/83dec8b0/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 1ef64b7..c35ca7d 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,8 +1,9 @@
 -- Oozie 4.1.0 release (trunk - unreleased)
 
+OOZIE-1831 Oozie upgrade fails if workflow jobs are in running or suspended state (satish.mittal via rohini)
 OOZIE-1690 TestShellActionExecutor#testEnvVar failed for Windows (omaliuvanchuk via rkanter)
-OOZIE-1243 libtools dir should not include hadoop JARs (sathish.mittal via rohini)
-OOZIE-1806 Java Action type jobs are failing with hadoop-0.20.0 and earlier versions on oozie trunk (sathish.mittal via rohini)
+OOZIE-1243 libtools dir should not include hadoop JARs (satish.mittal via rohini)
+OOZIE-1806 Java Action type jobs are failing with hadoop-0.20.0 and earlier versions on oozie trunk (satish.mittal via rohini)
 OOZIE-1823 OozieSharelibCLI shouldn't load ext services (rkanter)
 OOZIE-1762 Sharelib with oozie.action.ship.launcher.jar=true should copy oozie-hadoop-utils.jar (puru via mona)
 OOZIE-1709 CoordELFunctions.getCurrentInstance() is expensive (shwethags via rohini) 

http://git-wip-us.apache.org/repos/asf/oozie/blob/83dec8b0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java b/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
index a116984..0733e6f 100644
--- a/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
+++ b/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
@@ -194,7 +194,6 @@ public class OozieDBCLI {
     private void upgradeDB(String sqlFile, boolean run) throws Exception {
         validateConnection();
         validateDBSchema(true);
-        verifyDBState();
         String version = BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION);
 
         if (!verifyOozieSysTable(false, false)) { // If OOZIE_SYS table doesn't
@@ -231,7 +230,7 @@ public class OozieDBCLI {
 
     private void upgradeDBTo40(String sqlFile, boolean run) throws Exception {
         upgradeOozieDBVersion(sqlFile, run, DB_VERSION_FOR_4_0);
-        postUpgradeTasks(sqlFile, run, false);
+        postUpgradeTasksFor40(sqlFile, run);
         ddlTweaks(sqlFile, run);
     }
 
@@ -405,6 +404,41 @@ public class OozieDBCLI {
         }
     }
 
+    private void postUpgradeTasksFor40(String sqlFile, boolean run) throws Exception {
+        PrintWriter writer = new PrintWriter(new FileWriter(sqlFile, true));
+        writer.println();
+        Connection conn = (run) ? createConnection() : null;
+        try {
+            if (!getDBVendor().equals("derby")) {
+                String  updateMissingDependenciesQuery;
+                if (getDBVendor().equals("sqlserver")){
+                    updateMissingDependenciesQuery = UPDATE_DELIMITER_VER_TWO_MSSQL;
+                } else {
+                    updateMissingDependenciesQuery = UPDATE_DELIMITER_VER_TWO;
+                }
+
+                writer.println(updateMissingDependenciesQuery + ";");
+                System.out.println("Post-upgrade MISSING_DEPENDENCIES column");
+                if (run) {
+                    Statement st = conn.createStatement();
+                    st.executeUpdate(updateMissingDependenciesQuery);
+                    st.close();
+                }
+            }
+            else {
+                System.out.println("Post-upgrade MISSING_DEPENDENCIES column in Derby");
+                replaceForDerby(";", "!!");
+            }
+            System.out.println("DONE");
+            writer.close();
+        }
+        finally {
+            if (run) {
+                conn.close();
+            }
+      }
+    }
+
     private static final String COORD_ACTION_ID_DEPS = "SELECT ID, MISSING_DEPENDENCIES FROM COORD_ACTIONS";
 
     private void replaceForDerby(String oldStr, String newStr) throws Exception {