[ 
https://issues.apache.org/jira/browse/AMBARI-22724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vitaly Brodetskyi resolved AMBARI-22724.
----------------------------------------
    Resolution: Fixed

Committed to trunk and branch-2.6

> Idempotent issue on Ambari Upgrade, renameServiceDeletedColumn failed with 
> column already exists exception
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-22724
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22724
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.6.2
>            Reporter: Vitaly Brodetskyi
>            Assignee: Vitaly Brodetskyi
>            Priority: Blocker
>             Fix For: 2.6.2
>
>         Attachments: AMBARI-22724.patch
>
>
> Issue discovered alongside with another bugs which leads upgrade to fail in 
> the middle with partially applying changes to DB. It leads to exception in 
> code: 
> {code}
>   private void renameServiceDeletedColumn() throws AmbariException, 
> SQLException {
>     if (dbAccessor.tableHasColumn(CLUSTER_CONFIG_TABLE, 
> SERVICE_DELETED_COLUMN)) {
>       dbAccessor.renameColumn(CLUSTER_CONFIG_TABLE, SERVICE_DELETED_COLUMN, 
> new DBAccessor.DBColumnInfo(UNMAPPED_COLUMN, Short.class, null, 0, false));
>     }
>   }
> {code}
> Exception:  ERROR: column "unmapped" of relation "clusterconfig" already 
> exists   (err.png)
> Table generated DDL from current state: 
> {code}
> -- auto-generated definition
> CREATE TABLE clusterconfig
> (
>   config_id          INT8(19)           NOT NULL
>     CONSTRAINT pk_clusterconfig
>     PRIMARY KEY,
>   version_tag        VARCHAR(255)       NOT NULL,
>   version            INT8(19)           NOT NULL,
>   type_name          VARCHAR(255)       NOT NULL,
>   cluster_id         INT8(19)           NOT NULL
>     CONSTRAINT fk_clusterconfig_cluster_id
>     REFERENCES clusters,
>   stack_id           INT8(19)           NOT NULL
>     CONSTRAINT fk_clusterconfig_stack_id
>     REFERENCES stack,
>   config_data        TEXT(max)          NOT NULL,
>   config_attributes  TEXT(max),
>   create_timestamp   INT8(19)           NOT NULL,
>   unmapped           INT2(5) DEFAULT 0  NOT NULL,
>   selected           INT2(5) DEFAULT 0  NOT NULL,
>   selected_timestamp INT8(19) DEFAULT 0 NOT NULL,
>   service_deleted    INT2(5) DEFAULT 0  NOT NULL
> );
> CREATE UNIQUE INDEX uq_config_type_tag
>   ON clusterconfig (cluster_id, type_name, version_tag);
> CREATE UNIQUE INDEX uq_config_type_version
>   ON clusterconfig (cluster_id, type_name, version);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to