Repository: ambari Updated Branches: refs/heads/trunk 16cc3a6ed -> 7a7d2320a
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/7a7d2320 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7a7d2320 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7a7d2320 Branch: refs/heads/trunk Commit: 7a7d2320a1ebf37e44b487dbf04de2a1c16761cd Parents: 16cc3a6 Author: Siddharth Wagle <swa...@hortonworks.com> Authored: Wed Sep 13 10:19:10 2017 -0700 Committer: Siddharth Wagle <swa...@hortonworks.com> Committed: Wed Sep 13 10:19:10 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/7a7d2320/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 b137705..26670fc 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/7a7d2320/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 7f0408f..0c254ef 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/7a7d2320/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 b17569e..79ff9e2 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 @@ -31,6 +31,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; @@ -45,6 +46,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; @@ -107,6 +109,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"; @@ -181,6 +184,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/7a7d2320/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 e7359a7..74fff6c 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql @@ -843,7 +843,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/7a7d2320/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 c1e1953..beda848 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -860,7 +860,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/7a7d2320/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 c0b2f0c..4f27dfb 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -839,7 +839,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/7a7d2320/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 90cdbfe..355ee80 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql @@ -841,7 +841,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/7a7d2320/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 7f39535..76d4441 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql @@ -837,7 +837,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/7a7d2320/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 aa06c4d..f54a232 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -858,7 +858,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) );