Repository: ambari Updated Branches: refs/heads/branch-2.6 a178e5c77 -> 410f619de
AMBARI-21942. Upgrade to IOP 4.2.5 from IOP 4.1 failed with combined Solr host names longer than item_text column size in table upgrade_item. (swagle) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/410f619d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/410f619d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/410f619d Branch: refs/heads/branch-2.6 Commit: 410f619ded32679d971db5561c0f0e91c3b322f5 Parents: a178e5c Author: Siddharth Wagle <swa...@hortonworks.com> Authored: Wed Sep 13 10:15:39 2017 -0700 Committer: Siddharth Wagle <swa...@hortonworks.com> Committed: Wed Sep 13 10:17:17 2017 -0700 ---------------------------------------------------------------------- .../apache/ambari/server/orm/DBAccessorImpl.java | 6 ++---- .../server/orm/entities/UpgradeItemEntity.java | 2 +- .../ambari/server/upgrade/UpgradeCatalog260.java | 19 +++++++++++++++++++ .../main/resources/Ambari-DDL-Derby-CREATE.sql | 2 +- .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 2 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +- .../resources/Ambari-DDL-Postgres-CREATE.sql | 2 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 2 +- .../resources/Ambari-DDL-SQLServer-CREATE.sql | 2 +- 9 files changed, 28 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/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 9564934..20b991b 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 @@ -653,12 +653,10 @@ public class DBAccessorImpl implements DBAccessor { } @Override - public void alterColumn(String tableName, DBColumnInfo columnInfo) - throws SQLException { + public void alterColumn(String tableName, DBColumnInfo columnInfo) throws SQLException { //varchar extension only (derby limitation, but not too much for others), if (dbmsHelper.supportsColumnTypeChange()) { - String statement = dbmsHelper.getAlterColumnStatement(tableName, - columnInfo); + String statement = dbmsHelper.getAlterColumnStatement(tableName, columnInfo); executeQuery(statement); } else { //use addColumn: add_tmp-update-drop-rename for Derby http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradeItemEntity.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradeItemEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradeItemEntity.java index 35ea769..07faac9 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradeItemEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradeItemEntity.java @@ -76,7 +76,7 @@ public class UpgradeItemEntity { private String tasks = null; @Basic - @Column(name = "item_text", length = 1024) + @Column(name = "item_text") private String itemText = null; @Basic http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java index cf85a5c..a56bda2 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java @@ -29,6 +29,7 @@ import javax.persistence.EntityManager; import javax.persistence.Query; import org.apache.ambari.server.AmbariException; +import org.apache.ambari.server.configuration.Configuration; import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.orm.DBAccessor; import org.apache.ambari.server.orm.dao.ArtifactDAO; @@ -43,6 +44,7 @@ import org.apache.ambari.server.state.kerberos.KerberosDescriptorFactory; import org.apache.ambari.server.state.kerberos.KerberosIdentityDescriptor; import org.apache.ambari.server.state.kerberos.KerberosServiceDescriptor; import org.apache.commons.lang.StringUtils; +import org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -105,6 +107,7 @@ public class UpgradeCatalog260 extends AbstractUpgradeCatalog { public static final String FK_UPGRADE_FROM_REPO_ID = "FK_upgrade_from_repo_id"; public static final String FK_UPGRADE_TO_REPO_ID = "FK_upgrade_to_repo_id"; public static final String FK_UPGRADE_REPO_VERSION_ID = "FK_upgrade_repo_version_id"; + public static final String UPGRADE_ITEM_ITEM_TEXT = "item_text"; public static final String SERVICE_COMPONENT_HISTORY_TABLE = "servicecomponent_history"; public static final String UPGRADE_HISTORY_TABLE = "upgrade_history"; @@ -179,6 +182,22 @@ public class UpgradeCatalog260 extends AbstractUpgradeCatalog { createUpgradeHistoryTable(); updateRepositoryVersionTable(); renameServiceDeletedColumn(); + expandUpgradeItemItemTextColumn(); + } + + /** + * Expand item_text column of upgrade_item + */ + private void expandUpgradeItemItemTextColumn() throws SQLException { + Configuration.DatabaseType databaseType = configuration.getDatabaseType(); + + if (Configuration.DatabaseType.MYSQL == databaseType) { + dbAccessor.alterColumn(UPGRADE_ITEM_TABLE, new DBAccessor.DBColumnInfo( + UPGRADE_ITEM_ITEM_TEXT, new FieldTypeDefinition("TEXT"), null)); + } else { + dbAccessor.changeColumnType(UPGRADE_ITEM_TABLE, UPGRADE_ITEM_ITEM_TEXT, + String.class, char[].class); + } } private void renameServiceDeletedColumn() throws AmbariException, SQLException { http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql index b9c6985..796d9b2 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql @@ -842,7 +842,7 @@ CREATE TABLE upgrade_item ( state VARCHAR(255) DEFAULT 'NONE' NOT NULL, hosts VARCHAR(3000), tasks VARCHAR(3000), - item_text VARCHAR(1024), + item_text VARCHAR(3000), CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/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 c53cd7b..c002601 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -859,7 +859,7 @@ CREATE TABLE upgrade_item ( state VARCHAR(255) DEFAULT 'NONE' NOT NULL, hosts TEXT, tasks TEXT, - item_text VARCHAR(1024), + item_text TEXT, CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql index 6f754bb..d78c1c7 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -838,7 +838,7 @@ CREATE TABLE upgrade_item ( state VARCHAR2(255) DEFAULT 'NONE' NOT NULL, hosts CLOB, tasks CLOB, - item_text VARCHAR2(1024), + item_text CLOB, CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/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 19c0214..90f1397 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql @@ -839,7 +839,7 @@ CREATE TABLE upgrade_item ( state VARCHAR(255) DEFAULT 'NONE' NOT NULL, hosts TEXT, tasks TEXT, - item_text VARCHAR(1024), + item_text TEXT, CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql index 8567d09..c4bb763 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql @@ -836,7 +836,7 @@ CREATE TABLE upgrade_item ( state VARCHAR(255) DEFAULT 'NONE' NOT NULL, hosts TEXT, tasks TEXT, - item_text VARCHAR(1024), + item_text TEXT, CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); http://git-wip-us.apache.org/repos/asf/ambari/blob/410f619d/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 fdbad09..9f7aa91 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -857,7 +857,7 @@ CREATE TABLE upgrade_item ( state VARCHAR(255) DEFAULT 'NONE' NOT NULL, hosts TEXT, tasks TEXT, - item_text VARCHAR(1024), + item_text TEXT, CONSTRAINT PK_upgrade_item PRIMARY KEY CLUSTERED (upgrade_item_id), FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) );