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);
}