You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2014/11/01 20:49:07 UTC

git commit: AMBARI-8096. 1.4.1 -> 1.7.0 upgrade throws exception. (mpapirkovskyy)

Repository: ambari
Updated Branches:
  refs/heads/trunk 6a9662ad5 -> 7ee4aed1f


AMBARI-8096. 1.4.1 -> 1.7.0 upgrade throws exception. (mpapirkovskyy)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7ee4aed1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7ee4aed1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7ee4aed1

Branch: refs/heads/trunk
Commit: 7ee4aed1fd463a6bbdce70dfc1c8c05c141a89ae
Parents: 6a9662a
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Sat Nov 1 21:42:14 2014 +0200
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Sat Nov 1 21:48:24 2014 +0200

----------------------------------------------------------------------
 .../ambari/server/orm/DBAccessorImpl.java       |  2 +-
 .../server/upgrade/UpgradeCatalog150.java       | 25 +++++++++++---------
 2 files changed, 15 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/7ee4aed1/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
index 543e707..05db3f7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
@@ -567,7 +567,7 @@ public class DBAccessorImpl implements DBAccessor {
 
   @Override
   public void dropSequence(String sequenceName) throws SQLException {
-    executeQuery(dbmsHelper.getDropSequenceStatement(sequenceName));
+    executeQuery(dbmsHelper.getDropSequenceStatement(sequenceName), true);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/ambari/blob/7ee4aed1/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
index 703987b..2ccf16b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java
@@ -64,6 +64,7 @@ import javax.persistence.criteria.*;
 
 import java.io.File;
 import java.io.IOException;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
@@ -433,26 +434,28 @@ public class UpgradeCatalog150 extends AbstractUpgradeCatalog {
       }
     }
 
-
-    // TODO: Convert all possible native queries using Criteria builder
-
     // Sequences
     if (dbAccessor.tableExists("ambari_sequences")) {
       if (dbType.equals(Configuration.POSTGRES_DB_NAME)) {
+
+        ResultSet resultSet = dbAccessor.executeSelect("select * from ambari_sequences where sequence_name in " +
+            "('cluster_id_seq','user_id_seq','host_role_command_id_seq')");
+
         try {
-          dbAccessor.executeQuery(getPostgresSequenceUpgradeQuery());
-          // Deletes
-          dbAccessor.dropSequence("host_role_command_task_id_seq");
-          dbAccessor.dropSequence("users_user_id_seq");
-          dbAccessor.dropSequence("clusters_cluster_id_seq");
-        } catch (SQLException sql) {
-          LOG.warn("Sequence update threw exception. ", sql);
+          if (!resultSet.next()) {
+            dbAccessor.executeQuery(getPostgresSequenceUpgradeQuery(), true);
+            // Deletes
+            dbAccessor.dropSequence("host_role_command_task_id_seq");
+            dbAccessor.dropSequence("users_user_id_seq");
+            dbAccessor.dropSequence("clusters_cluster_id_seq");
+          }
+        } finally {
+          resultSet.close();
         }
       }
     }
 
     //add new sequences for config groups
-    //TODO evalate possibility to automatically wrap object names in DBAcessor
     String valueColumnName = "sequence_value";
 
     dbAccessor.executeQuery("INSERT INTO ambari_sequences(sequence_name, " + valueColumnName + ") " +