ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Lysnichenko (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMBARI-21998) Ambari upgrade don't delete stale constraints
Date Tue, 19 Sep 2017 16:14:00 GMT
Dmitry Lysnichenko created AMBARI-21998:
-------------------------------------------

             Summary: Ambari upgrade don't delete stale constraints
                 Key: AMBARI-21998
                 URL: https://issues.apache.org/jira/browse/AMBARI-21998
             Project: Ambari
          Issue Type: Bug
            Reporter: Dmitry Lysnichenko
            Assignee: Dmitry Lysnichenko
            Priority: Critical



During  Ambari upgrade from 2.2.2 to 2.5 I discovered that some UNIQUE constraints are definned
without name in older Ambari versions, and then altered by name in UpgadeCatalogs/newer DDLs.

For example:
Ambari 2.2.2
https://github.com/apache/ambari/blob/branch-2.2.2/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
{code} UNIQUE (ldap_user, user_name));{code}
Ambari-2.4.0
https://github.com/apache/ambari/blob/branch-2.4/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql#L288
{code}  CONSTRAINT UNQ_users_0 UNIQUE (user_name, user_type)){code}

As a result, during upgrade from Ambari 2.2.2 to Ambari 2.5.0, the stale unique constraint
with default name is not deleted.
That will reproduce on Postgres for any upgrade path that includes these versions.

{code}ambari=# \d+ users
Table "ambari.users"
Column         |            Type             |             Modifiers              | Storage
 | Description
-----------------------+-----------------------------+------------------------------------+----------+-------------
user_id               | integer                     | not null                           |
plain    |
principal_id          | bigint                      | not null                           |
plain    |
ldap_user             | integer                     | not null default 0                 |
plain    |
user_name             | character varying(255)      | not null                           |
extended |
create_time           | timestamp without time zone | default now()                      |
plain    |
user_password         | character varying(255)      |                                    |
extended |
active                | integer                     | not null default 1                 |
plain    |
active_widget_layouts | character varying(1024)     | default NULL::character varying    |
extended |
user_type             | character varying(255)      | default 'LOCAL'::character varying |
extended |
Indexes:
"users_pkey" PRIMARY KEY, btree (user_id)
"unq_users_0" UNIQUE, btree (user_name, user_type)
"users_ldap_user_key" UNIQUE, btree (ldap_user, user_name)
Foreign-key constraints:
"fk_users_principal_id" FOREIGN KEY (principal_id) REFERENCES adminprincipal(principal_id)
Referenced by:
TABLE "members" CONSTRAINT "fk_members_user_id" FOREIGN KEY (user_id) REFERENCES users(user_id)
Has OIDs: no

{code}






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

Mime
View raw message