-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57478/#review168530
-----------------------------------------------------------


Fix it, then Ship it!





ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
Lines 900 (patched)
<https://reviews.apache.org/r/57478/#comment240772>

    Minor nit: flag can be set after execute is successful.


- Sid Wagle


On March 9, 2017, 9:53 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/57478/
> -----------------------------------------------------------
> 
> (Updated March 9, 2017, 9:53 p.m.)
> 
> 
> Review request for Ambari, Sumit Mohanty and Sid Wagle.
> 
> 
> Bugs: AMBARI-20387
>     https://issues.apache.org/jira/browse/AMBARI-20387
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> There are some MySQL installations of Ambari which are correctly setup to use 
> {{InnoDB}}, but still are missing foreign key relationships on certain 
> tables. When the upgrade catalogs try to drop foreign keys by name, they are 
> not found. However, when re-creating them, the existing {{INDEX}} constraints 
> are named the same and prevent the new FKs from being created.
> 
> ```
> Error output from schema upgrade command:
> Exception in thread "main" org.apache.ambari.server.AmbariException: 
> Duplicate key name 'hstcmpnntdesiredstatecmpnntnme'
>         at 
> org.apache.ambari.server.upgrade.SchemaUpgradeHelper.executeUpgrade(SchemaUpgradeHelper.java:210)
>         at 
> org.apache.ambari.server.upgrade.SchemaUpgradeHelper.main(SchemaUpgradeHelper.java:350)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
> Duplicate key name 'hstcmpnntdesiredstatecmpnntnme'
>         ...
>         ... 1 more
> ERROR: Error executing schema upgrade, please check the server logs.
> ```
> 
> ```
> mysql> show create table hostcomponentdesiredstate;
> ----------------------------------------------------------------------------------+
> | hostcomponentdesiredstate | CREATE TABLE `hostcomponentdesiredstate` (
>   `cluster_id` bigint(20) NOT NULL,
>   `component_name` varchar(255) NOT NULL,
>   `desired_state` varchar(255) NOT NULL,
>   `service_name` varchar(255) NOT NULL,
>   `admin_state` varchar(32) DEFAULT NULL,
>   `maintenance_state` varchar(32) NOT NULL DEFAULT 'ACTIVE',
>   `security_state` varchar(32) NOT NULL DEFAULT 'UNSECURED',
>   `restart_required` tinyint(1) NOT NULL DEFAULT '0',
>   `host_id` bigint(20) NOT NULL,
>   `desired_stack_id` bigint(20) NOT NULL,
>   PRIMARY KEY (`cluster_id`,`component_name`,`host_id`,`service_name`),
>   KEY `hstcmpnntdesiredstatecmpnntnme` 
> (`component_name`,`cluster_id`,`service_name`),
>   KEY `FK_hostcomponentdesiredstate_desired_stack_id` (`desired_stack_id`),
>   KEY `FK_hostcomponentdesiredstate_host_id` (`host_id`),
>   CONSTRAINT `FK_hcdesiredstate_host_id` FOREIGN KEY (`host_id`) REFERENCES 
> `hosts` (`host_id`),
>   CONSTRAINT `fk_hcds_desired_stack_id` FOREIGN KEY (`desired_stack_id`) 
> REFERENCES `stack` (`stack_id`),
>   CONSTRAINT `FK_hostcomponentdesiredstate_desired_stack_id` FOREIGN KEY 
> (`desired_stack_id`) REFERENCES `stack` (`stack_id`),
>   CONSTRAINT `FK_hostcomponentdesiredstate_host_id` FOREIGN KEY (`host_id`) 
> REFERENCES `hosts` (`host_id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
> ```
> 
> In this case, the {{INDEX}} {{hstcmpnntdesiredstatecmpnntnme}} prevents the 
> new FK creation.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 
> 5d9eb6c 
>   
> ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java 
> 1c0ab30 
> 
> 
> Diff: https://reviews.apache.org/r/57478/diff/1/
> 
> 
> Testing
> -------
> 
> Tests run: 4939, Failures: 0, Errors: 0, Skipped: 39
> 
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 19:04 min
> [INFO] Finished at: 2017-03-09T16:49:32-05:00
> [INFO] Final Memory: 59M/728M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>

Reply via email to