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/05/20 01:46:38 UTC

git commit: AMBARI-5622. 'Upgrading schema' failed during upgrading to 1.6.0. (mpapirkovskyy)

Repository: ambari
Updated Branches:
  refs/heads/branch-1.6.0 eae3ccbc1 -> 51aceee05


AMBARI-5622. 'Upgrading schema' failed during upgrading to 1.6.0. (mpapirkovskyy)


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

Branch: refs/heads/branch-1.6.0
Commit: 51aceee059227ccfd791a5f39c9b4fff387e9e53
Parents: eae3ccb
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Tue May 20 00:58:59 2014 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Tue May 20 02:19:26 2014 +0300

----------------------------------------------------------------------
 .../main/java/org/apache/ambari/server/orm/DBAccessor.java  | 7 +++++++
 .../java/org/apache/ambari/server/orm/DBAccessorImpl.java   | 7 +++++++
 .../apache/ambari/server/orm/helpers/dbms/DbmsHelper.java   | 2 ++
 .../ambari/server/orm/helpers/dbms/GenericDbmsHelper.java   | 5 +++++
 .../apache/ambari/server/orm/helpers/dbms/MySqlHelper.java  | 5 +++++
 .../apache/ambari/server/upgrade/SchemaUpgradeHelper.java   | 9 ++++++---
 .../org/apache/ambari/server/upgrade/UpgradeCatalog151.java | 2 --
 7 files changed, 32 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
index bf9e3f9..080753e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
@@ -32,6 +32,13 @@ import java.util.List;
 public interface DBAccessor {
 
   /**
+   * Wraps object name with dbms-specific quotes
+   * @param name object name without quotes
+   * @return quoted name
+   */
+  String quoteObjectName(String name);
+
+  /**
    * Create new table
    * @param tableName
    * @param columnInfo

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/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 5871ab3..fd39cf0 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
@@ -104,6 +104,11 @@ public class DBAccessorImpl implements DBAccessor {
   }
 
   @Override
+  public String quoteObjectName(String name) {
+    return dbmsHelper.quoteObjectName(name);
+  }
+
+  @Override
   public void createTable(String tableName, List<DBColumnInfo> columnInfo,
                           String... primaryKeyColumns) throws SQLException {
     if (!tableExists(tableName)) {
@@ -136,6 +141,8 @@ public class DBAccessorImpl implements DBAccessor {
     return objectName;
   }
 
+
+
   @Override
   public boolean tableExists(String tableName) throws SQLException {
     boolean result = false;

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
index 2e66006..8b56fbe 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
@@ -30,6 +30,8 @@ public interface DbmsHelper {
    */
   boolean supportsColumnTypeChange();
 
+  String quoteObjectName(String name);
+
   /**
    * Generate rename column statement
    * @param tableName

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
index 5f484a8..a5d76ed 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
@@ -45,6 +45,11 @@ public class GenericDbmsHelper implements DbmsHelper {
   }
 
   @Override
+  public String quoteObjectName(String name) {
+    return "\"" + name + "\"";
+  }
+
+  @Override
   public String getRenameColumnStatement(String tableName, String oldName, DBAccessor.DBColumnInfo columnInfo) {
     StringBuilder stringBuilder = new StringBuilder();
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
index 817ca9b..efed292 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
@@ -32,6 +32,11 @@ public class MySqlHelper extends GenericDbmsHelper {
   }
 
   @Override
+  public String quoteObjectName(String name) {
+    return "`" + name + "`";
+  }
+
+  @Override
   public StringBuilder writeColumnRenameString(StringBuilder builder, String oldName, DBAccessor.DBColumnInfo newColumnInfo) {
 
     builder.append(" CHANGE ").append(oldName).append(" ").append(newColumnInfo.getName()).append(" ");

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
index 7062a09..0e2fdc9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
@@ -73,7 +73,8 @@ public class SchemaUpgradeHelper {
 
     ResultSet resultSet = null;
     try {
-      resultSet = dbAccessor.executeSelect("SELECT \"metainfo_value\" from metainfo WHERE \"metainfo_key\"='version'");
+      resultSet = dbAccessor.executeSelect("SELECT " + dbAccessor.quoteObjectName("metainfo_value") +
+          " from metainfo WHERE " + dbAccessor.quoteObjectName("metainfo_key") + "='version'");
       if (resultSet.next()) {
         return resultSet.getString(1);
       } else {
@@ -200,8 +201,9 @@ public class SchemaUpgradeHelper {
   public void resetUIState() throws AmbariException {
     LOG.info("Resetting UI state.");
     try {
-      dbAccessor.updateTable("key_value_store", "\"value\"", "{\"clusterState\":\"CLUSTER_STARTED_5\"}",
-          "where \"key\"='CLUSTER_CURRENT_STATUS'");
+      dbAccessor.updateTable("key_value_store", dbAccessor.quoteObjectName("value"),
+          "{\"clusterState\":\"CLUSTER_STARTED_5\"}",
+          "where " + dbAccessor.quoteObjectName("key") + "='CLUSTER_CURRENT_STATUS'");
     } catch (SQLException e) {
       throw new AmbariException("Unable to reset UI state", e);
     }
@@ -245,6 +247,7 @@ public class SchemaUpgradeHelper {
       schemaUpgradeHelper.stopPersistenceService();
     } catch (Throwable e) {
       if (e instanceof AmbariException) {
+        LOG.error("Exception occured during upgrade, failed", e);
         throw (AmbariException)e;
       }else{
         LOG.error("Unexpected error, upgrade failed", e);

http://git-wip-us.apache.org/repos/asf/ambari/blob/51aceee0/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
index e7907ba..0b75510 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog151.java
@@ -122,8 +122,6 @@ public class UpgradeCatalog151 extends AbstractUpgradeCatalog {
     dbAccessor.addFKConstraint("viewinstancedata", "FK_viewinstdata_view_name",
         new String[]{"view_name", "view_instance_name"}, "viewinstance", new String[]{"view_name", "name"}, true);
 
-    dbAccessor.addFKConstraint("hostgroup_configuration", "FK_hg_config_blueprint_name", "blueprint_name", "hostgroup", "blueprint_name", true);
-    dbAccessor.addFKConstraint("hostgroup_configuration", "FK_hg_config_hostgroup_name", "hostgroup_name", "hostgroup", "name", true);
   }