You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2015/05/07 21:46:53 UTC
ambari git commit: AMBARI-10665. Internal Exception:
org.postgresql.util.PSQLException: ERROR: column config_attributes does not
exist (Emil Anca via rlevas)
Repository: ambari
Updated Branches:
refs/heads/trunk 6691a1742 -> 90e9e811b
AMBARI-10665. Internal Exception: org.postgresql.util.PSQLException: ERROR: column config_attributes does not exist (Emil Anca via rlevas)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/90e9e811
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/90e9e811
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/90e9e811
Branch: refs/heads/trunk
Commit: 90e9e811b5eca94d2597069ac5e563285455aa4e
Parents: 6691a17
Author: Emil Anca <ea...@hortonworks.com>
Authored: Thu May 7 15:46:37 2015 -0400
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Thu May 7 15:46:37 2015 -0400
----------------------------------------------------------------------
.../orm/entities/BlueprintConfigEntity.java | 3 +-
.../orm/entities/ClusterConfigEntity.java | 2 +-
.../orm/entities/HostGroupConfigEntity.java | 3 +-
.../server/upgrade/UpgradeCatalog170.java | 25 +++++++++++----
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 4 +--
.../resources/Ambari-DDL-Postgres-CREATE.sql | 6 ++--
.../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 6 ++--
.../resources/Ambari-DDL-SQLServer-CREATE.sql | 8 ++---
.../server/upgrade/UpgradeCatalog170Test.java | 33 +++++++++++++++-----
9 files changed, 62 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintConfigEntity.java
index b27f7ef..24b0ad2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintConfigEntity.java
@@ -50,7 +50,8 @@ public class BlueprintConfigEntity implements BlueprintConfiguration {
private String configData;
@Column(name = "config_attributes", nullable = true, insertable = true, updatable = false)
- @Basic
+ @Basic(fetch = FetchType.LAZY)
+ @Lob
private String configAttributes;
@ManyToOne
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
index 67f804c..8ca2278 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
@@ -77,7 +77,7 @@ public class ClusterConfigEntity {
private String configJson;
@Basic(fetch = FetchType.LAZY)
- @Column(name = "config_attributes", nullable = true, insertable = true, updatable = false, length = 32000)
+ @Column(name = "config_attributes", nullable = true, insertable = true, updatable = false)
@Lob
private String configAttributesJson;
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupConfigEntity.java
index 49870fe..877f34b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupConfigEntity.java
@@ -56,7 +56,8 @@ public class HostGroupConfigEntity implements BlueprintConfiguration {
private String configData;
@Column(name = "config_attributes", nullable = true, insertable = true, updatable = false)
- @Basic
+ @Basic(fetch = FetchType.LAZY)
+ @Lob
private String configAttributes;
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
index 879cf31..76b2a46 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
@@ -257,12 +257,10 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
dbAccessor.insertRow("adminprivilege", new String[]{"privilege_id", "permission_id", "resource_id", "principal_id"}, new String[]{"1", "1", "1", "1"}, true);
- if (databaseType == DatabaseType.ORACLE) {
- dbAccessor.executeQuery("ALTER TABLE clusterconfig ADD config_attributes CLOB NULL");
- } else {
- DBColumnInfo clusterConfigAttributesColumn = new DBColumnInfo(
- "config_attributes", String.class, 32000, null, true);
- dbAccessor.addColumn("clusterconfig", clusterConfigAttributesColumn);
+ String [] configAttributesTableNames = {"clusterconfig", "hostgroup_configuration", "blueprint_configuration"};
+
+ for(String tableName : configAttributesTableNames) {
+ addConfigAttributesColumn(tableName);
}
// Add columns
@@ -496,6 +494,21 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
}
/**
+ * @param tableName
+ * @throws SQLException
+ */
+ private void addConfigAttributesColumn(String tableName) throws SQLException {
+ final DatabaseType databaseType = configuration.getDatabaseType();
+ if (databaseType == DatabaseType.ORACLE) {
+ dbAccessor.executeQuery("ALTER TABLE " + tableName + " ADD config_attributes CLOB NULL");
+ } else {
+ DBColumnInfo clusterConfigAttributesColumn = new DBColumnInfo(
+ "config_attributes", Character[].class, null, null, true);
+ dbAccessor.addColumn(tableName, clusterConfigAttributesColumn);
+ }
+ }
+
+ /**
* Note that you can't use dbAccessor.renameColumn(...) here as the column name is a reserved word and
* thus requires custom approach for every database type.
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 3a3c52b..91173a0 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -413,7 +413,7 @@ CREATE TABLE blueprint_configuration (
blueprint_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
config_data LONGTEXT NOT NULL,
- config_attributes VARCHAR(32000),
+ config_attributes LONGTEXT,
PRIMARY KEY(blueprint_name, type_name));
CREATE TABLE hostgroup_configuration (
@@ -421,7 +421,7 @@ CREATE TABLE hostgroup_configuration (
hostgroup_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
config_data LONGTEXT NOT NULL,
- config_attributes TEXT,
+ config_attributes LONGTEXT,
PRIMARY KEY(blueprint_name, hostgroup_name, type_name));
CREATE TABLE viewmain (
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index 9fb0909..5983bc5 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -49,7 +49,7 @@ CREATE TABLE clusterconfig (
cluster_id BIGINT NOT NULL,
stack_id BIGINT NOT NULL,
config_data TEXT NOT NULL,
- config_attributes VARCHAR(32000),
+ config_attributes TEXT,
create_timestamp BIGINT NOT NULL,
PRIMARY KEY (config_id),
FOREIGN KEY (stack_id) REFERENCES stack(stack_id));
@@ -410,7 +410,7 @@ CREATE TABLE blueprint_configuration (
blueprint_name varchar(255) NOT NULL,
type_name varchar(255) NOT NULL,
config_data TEXT NOT NULL,
- config_attributes varchar(32000),
+ config_attributes TEXT,
PRIMARY KEY(blueprint_name, type_name));
CREATE TABLE hostgroup_configuration (
@@ -418,7 +418,7 @@ CREATE TABLE hostgroup_configuration (
hostgroup_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
config_data TEXT NOT NULL,
- config_attributes varchar(32000),
+ config_attributes TEXT,
PRIMARY KEY(blueprint_name, hostgroup_name, type_name));
CREATE TABLE viewmain (
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index ead0527..defc154 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@ -62,7 +62,7 @@ CREATE TABLE ambari.clusterconfig (
cluster_id BIGINT NOT NULL,
stack_id BIGINT NOT NULL,
config_data TEXT NOT NULL,
- config_attributes VARCHAR(32000),
+ config_attributes TEXT,
create_timestamp BIGINT NOT NULL,
PRIMARY KEY (config_id),
FOREIGN KEY (stack_id) REFERENCES ambari.stack(stack_id));
@@ -458,7 +458,7 @@ CREATE TABLE ambari.blueprint_configuration (
blueprint_name varchar(255) NOT NULL,
type_name varchar(255) NOT NULL,
config_data TEXT NOT NULL,
- config_attributes varchar(32000),
+ config_attributes TEXT,
PRIMARY KEY(blueprint_name, type_name));
CREATE TABLE ambari.hostgroup_configuration (
@@ -466,7 +466,7 @@ CREATE TABLE ambari.hostgroup_configuration (
hostgroup_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
config_data TEXT NOT NULL,
- config_attributes varchar(32000),
+ config_attributes TEXT,
PRIMARY KEY(blueprint_name, hostgroup_name, type_name));
GRANT ALL PRIVILEGES ON TABLE ambari.blueprint TO :username;
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index f98fb05..a8cb7c1 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -475,8 +475,8 @@ CREATE TABLE hostgroup_component (
CREATE TABLE blueprint_configuration (
blueprint_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
- config_data TEXT NOT NULL,
- config_attributes VARCHAR(8000),
+ config_data VARCHAR(MAX) NOT NULL,
+ config_attributes VARCHAR(MAX),
PRIMARY KEY CLUSTERED (
blueprint_name,
type_name
@@ -487,8 +487,8 @@ CREATE TABLE hostgroup_configuration (
blueprint_name VARCHAR(255) NOT NULL,
hostgroup_name VARCHAR(255) NOT NULL,
type_name VARCHAR(255) NOT NULL,
- config_data TEXT NOT NULL,
- config_attributes TEXT,
+ config_data VARCHAR(MAX) NOT NULL,
+ config_attributes VARCHAR(MAX),
PRIMARY KEY CLUSTERED (
blueprint_name,
hostgroup_name,
http://git-wip-us.apache.org/repos/asf/ambari/blob/90e9e811/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
index 377c0f7..19e721d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java
@@ -185,6 +185,8 @@ public class UpgradeCatalog170Test {
expectLastCall();
Capture<DBAccessor.DBColumnInfo> clusterConfigAttributesColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
+ Capture<DBAccessor.DBColumnInfo> hostgroupConfigAttributesColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
+ Capture<DBAccessor.DBColumnInfo> blueprintConfigAttributesColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
Capture<DBAccessor.DBColumnInfo> maskColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
Capture<DBAccessor.DBColumnInfo> systemColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
Capture<DBAccessor.DBColumnInfo> maskedColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
@@ -210,7 +212,9 @@ public class UpgradeCatalog170Test {
setViewExpectations(dbAccessor, maskColumnCapture, systemColumnCapture);
setViewParameterExpectations(dbAccessor, maskedColumnCapture);
- setClusterConfigExpectations(dbAccessor, clusterConfigAttributesColumnCapture);
+ setConfigAttributesColumnExpectations(dbAccessor, clusterConfigAttributesColumnCapture, "clusterconfig");
+ setConfigAttributesColumnExpectations(dbAccessor, hostgroupConfigAttributesColumnCapture, "hostgroup_configuration");
+ setConfigAttributesColumnExpectations(dbAccessor, blueprintConfigAttributesColumnCapture, "blueprint_configuration");
setStageExpectations(dbAccessor, stageCommandParamsColumnCapture, stageHostParamsColumnCapture);
dbAccessor.createTable(eq("alert_definition"),
@@ -266,6 +270,8 @@ public class UpgradeCatalog170Test {
verify(dbAccessor, configuration, resultSet, connection, stmt);
assertClusterConfigColumns(clusterConfigAttributesColumnCapture);
+ assertHostgroupConfigColumns(hostgroupConfigAttributesColumnCapture);
+ assertBlueprintConfigColumns(blueprintConfigAttributesColumnCapture);
assertViewColumns(maskColumnCapture, systemColumnCapture);
assertViewParameterColumns(maskedColumnCapture);
assertStageColumns(stageCommandParamsColumnCapture, stageHostParamsColumnCapture);
@@ -672,18 +678,31 @@ public class UpgradeCatalog170Test {
private void assertClusterConfigColumns(Capture<DBAccessor.DBColumnInfo> clusterConfigAttributesColumnCapture) {
DBAccessor.DBColumnInfo column = clusterConfigAttributesColumnCapture.getValue();
+ assertConfigAttriburesColumn(column);
+ }
+
+ private void assertHostgroupConfigColumns(Capture<DBAccessor.DBColumnInfo> hostgroupConfigAttributesColumnCapture) {
+ DBAccessor.DBColumnInfo column = hostgroupConfigAttributesColumnCapture.getValue();
+ assertConfigAttriburesColumn(column);
+ }
+
+ private void assertBlueprintConfigColumns(Capture<DBAccessor.DBColumnInfo> blueprintConfigAttributesColumnCapture) {
+ DBAccessor.DBColumnInfo column = blueprintConfigAttributesColumnCapture.getValue();
+ assertConfigAttriburesColumn(column);
+ }
+
+ private void assertConfigAttriburesColumn(DBAccessor.DBColumnInfo column) {
assertEquals("config_attributes", column.getName());
- assertEquals(32000, (int) column.getLength());
- assertEquals(String.class, column.getType());
+ assertEquals(Character[].class, column.getType());
assertEquals(null, column.getDefaultValue());
assertTrue(column.isNullable());
}
- private void setClusterConfigExpectations(DBAccessor dbAccessor,
- Capture<DBAccessor.DBColumnInfo> clusterConfigAttributesColumnCapture)
+ private void setConfigAttributesColumnExpectations(DBAccessor dbAccessor,
+ Capture<DBAccessor.DBColumnInfo> configAttributesColumnCapture, String tableName)
throws SQLException {
- dbAccessor.addColumn(eq("clusterconfig"),
- capture(clusterConfigAttributesColumnCapture));
+ dbAccessor.addColumn(eq(tableName),
+ capture(configAttributesColumnCapture));
}
private void setStageExpectations(DBAccessor dbAccessor,