Alejandro Fernandez created AMBARI-11409:
--------------------------------------------

             Summary: UpgradeCatalog210 fails because older schemas used 
different FK names for host columns
                 Key: AMBARI-11409
                 URL: https://issues.apache.org/jira/browse/AMBARI-11409
             Project: Ambari
          Issue Type: Bug
            Reporter: Alejandro Fernandez


When upgrading Ambari from 1.7.0 to 2.0.0 to 2.1.0, it fails because in older 
schemas the FK names of columns related to the host_name changed over time.

UpgradeCatalog210 should include the older FK names, and perform a CASCADE 
DELETE on the hosts PK just for good measure.

{code}
24 May 2015 16:57:20,845  INFO [main] SchemaUpgradeHelper:260 - Upgrading 
schema to target version = 2.1.0
24 May 2015 16:57:20,889  INFO [main] SchemaUpgradeHelper:269 - Upgrading 
schema from source version = 2.0.0
24 May 2015 16:57:20,890  INFO [main] SchemaUpgradeHelper:142 - Upgrade path: 
[{ upgradeCatalog: sourceVersion = 2.0.0, targetVersion = 2.1.0 }, { 
upgradeCatalog: sourceVersion = null, targetVersion = 2.1.0 }]
24 May 2015 16:57:20,891  INFO [main] SchemaUpgradeHelper:177 - Executing DDL 
upgrade...
24 May 2015 16:57:20,891  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER SCHEMA ambari OWNER TO "ambari";
24 May 2015 16:57:20,892  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER ROLE "ambari" SET search_path to 'ambari';
24 May 2015 16:57:20,904  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE alert_current  ALTER COLUMN latest_text TYPE TEXT
24 May 2015 16:57:21,273  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hosts ADD host_id BIGINT
24 May 2015 16:57:21,295  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 1 WHERE host_name = 'cn105-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,328  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 2 WHERE host_name = 'cn105.l42scl.hortonworks.com'
24 May 2015 16:57:21,337  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 3 WHERE host_name = 'cn106-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,345  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 4 WHERE host_name = 'cn107-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,353  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 5 WHERE host_name = 'cn108-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,361  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 6 WHERE host_name = 'cn109-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,370  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 7 WHERE host_name = 'cn110-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,378  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 8 WHERE host_name = 'cn111-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,386  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 9 WHERE host_name = 'cn112-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,395  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 10 WHERE host_name = 
'cn113-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,403  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 11 WHERE host_name = 
'cn114-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,411  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 12 WHERE host_name = 
'cn115-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,420  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 13 WHERE host_name = 
'cn116-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,428  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 14 WHERE host_name = 
'cn117-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,437  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 15 WHERE host_name = 
'cn118-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,445  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 16 WHERE host_name = 
'cn119-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,453  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 17 WHERE host_name = 
'cn120-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,462  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 18 WHERE host_name = 
'cn121-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,470  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 19 WHERE host_name = 
'cn122-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,478  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 20 WHERE host_name = 
'cn123-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,487  INFO [main] DBAccessorImpl:556 - Executing query: 
UPDATE hosts SET host_id = 21 WHERE host_name = 
'cn124-10.l42scl.hortonworks.com'
24 May 2015 16:57:21,495  INFO [main] DBAccessorImpl:556 - Executing query: 
INSERT INTO ambari_sequences (sequence_name, sequence_value) VALUES 
('host_id_seq', 21)
24 May 2015 16:57:21,520  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hosts  ALTER COLUMN host_id TYPE BIGINT
24 May 2015 16:57:21,655  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hostcomponentstate DROP CONSTRAINT hostcomponentstate_host_name
24 May 2015 16:57:21,729  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hostcomponentdesiredstate DROP CONSTRAINT 
hstcmponentdesiredstatehstname
24 May 2015 16:57:21,779  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE host_role_command DROP CONSTRAINT FK_host_role_command_host_name
24 May 2015 16:57:21,821  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hoststate DROP CONSTRAINT FK_hoststate_host_name
24 May 2015 16:57:21,863  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE host_version DROP CONSTRAINT FK_host_version_host_name
24 May 2015 16:57:21,901  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE configgrouphostmapping DROP CONSTRAINT FK_cghm_hname
24 May 2015 16:57:21,938  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE kerberos_principal_host DROP CONSTRAINT FK_krb_pr_host_hostname
24 May 2015 16:57:21,946  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE kerberos_principal_host DROP CONSTRAINT FK_krb_pr_host_principalname
24 May 2015 16:57:21,988  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hostconfigmapping DROP CONSTRAINT FK_hostconfmapping_host_name
24 May 2015 16:57:22,030  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE ClusterHostMapping DROP CONSTRAINT ClusterHostMapping_host_name
24 May 2015 16:57:22,071  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE ClusterHostMapping DROP CONSTRAINT ClusterHostMapping_cluster_id
24 May 2015 16:57:22,102  INFO [main] DBAccessorImpl:390 - Foreign Key 
constraint FK_clhostmapping_cluster_id already exists, skipping
24 May 2015 16:57:22,102  INFO [main] DBAccessorImpl:556 - Executing query: 
ALTER TABLE hosts DROP CONSTRAINT hosts_pkey
24 May 2015 16:57:22,110 ERROR [main] DBAccessorImpl:562 - Error executing 
query: ALTER TABLE hosts DROP CONSTRAINT hosts_pkey
org.postgresql.util.PSQLException: ERROR: cannot drop constraint hosts_pkey on 
table hosts because other objects depend on it
  Detail: constraint fk_hostcomponentdesiredstate_host_name on table 
hostcomponentdesiredstate depends on index hosts_pkey
constraint fk_configgrouphostmapping_host_name on table configgrouphostmapping 
depends on index hosts_pkey
constraint fk_kerberos_principal_host_host_name on table 
kerberos_principal_host depends on index hosts_pkey
constraint fk_hostcomponentstate_host_name on table hostcomponentstate depends 
on index hosts_pkey
constraint fk_clusterhostmapping_host_name on table clusterhostmapping depends 
on index hosts_pkey
  Hint: Use DROP ... CASCADE to drop the dependent objects too.
        at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
        at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
        at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
        at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559)
        at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
        at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:395)
        at 
org.apache.ambari.server.orm.DBAccessorImpl.executeQuery(DBAccessorImpl.java:559)
        at 
org.apache.ambari.server.orm.DBAccessorImpl.executeQuery(DBAccessorImpl.java:545)
        at 
org.apache.ambari.server.upgrade.UpgradeCatalog210.executeHostsDDLUpdates(UpgradeCatalog210.java:356)
        at 
org.apache.ambari.server.upgrade.UpgradeCatalog210.executeDDLUpdates(UpgradeCatalog210.java:152)
        at 
org.apache.ambari.server.upgrade.AbstractUpgradeCatalog.upgradeSchema(AbstractUpgradeCatalog.java:377)
        at 
org.apache.ambari.server.upgrade.SchemaUpgradeHelper.executeUpgrade(SchemaUpgradeHelper.java:182)
        at 
org.apache.ambari.server.upgrade.SchemaUpgradeHelper.main(SchemaUpgradeHelper.java:274)
24 May 2015 16:57:22,114 ERROR [main] SchemaUpgradeHelper:184 - Upgrade failed.
org.postgresql.util.PSQLException: ERROR: cannot drop constraint hosts_pkey on 
table hosts because other objects depend on it
  Detail: constraint fk_hostcomponentdesiredstate_host_name on table 
hostcomponentdesiredstate depends on index hosts_pkey
constraint fk_configgrouphostmapping_host_name on table configgrouphostmapping 
depends on index hosts_pkey
constraint fk_kerberos_principal_host_host_name on table 
kerberos_principal_host depends on index hosts_pkey
constraint fk_hostcomponentstate_host_name on table hostcomponentstate depends 
on index hosts_pkey
constraint fk_clusterhostmapping_host_name on table clusterhostmapping depends 
on index hosts_pkey
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to