You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2018/01/05 14:48:01 UTC

[jira] [Commented] (AMBARI-22724) Idempotent issue on Ambari Upgrade, renameServiceDeletedColumn failed with column already exists exception

    [ https://issues.apache.org/jira/browse/AMBARI-22724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16313223#comment-16313223 ] 

Hudson commented on AMBARI-22724:
---------------------------------

FAILURE: Integrated in Jenkins build Ambari-branch-2.6 #566 (See [https://builds.apache.org/job/Ambari-branch-2.6/566/])
AMBARI-22724. Idempotent issue on Ambari Upgrade, (vbrodetskyi: [http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=680f737c944bf4e10c282266c0bb39e43074cec2])
* (edit) ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog252.java


> 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)