Migrating External Memberships Fail Due to Violation of UNIQUE KEY Constraint for cwd_unique_membership
Platform Notice: Cloud and Data Center - This article applies equally to both cloud and data center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
When running the script for migrating the external memberships in admin/migrate-external-memberships.action
, it fails.
The following appears in the atlassian-confluence.log
:
2013-11-09 23:46:01,042 INFO [Long running task: Migrate External Memberships] [atlassian.crowd.directory.DelegatedAuthenticationDirectory] importMembership Imported user "Michael XYZ"'s membership of remote group "Group Name" to directory "Delegated Authentication Directory".
....
2013-11-09 23:46:01,167 ERROR [Long running task: Migrate External Memberships] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Violation of UNIQUE KEY constraint 'cwd_unique_membership'. Cannot insert duplicate key in object 'dbo.cwd_membership'.
Cause
There are two different entities in LDAP are found with the same value for that attribute (CN). There is a feature request for this: CONFSERVER-23213 - Merge memberships for groups with duplicate names during LDAP directory sync
Workaround
Change the Group Search Filter in the User Directory Configuration so that it excludes the offending group. Example:
(&(objectclass=groupOfNames)(!(CN=Group Name)))
- Perform the migration again
If users are not able to log into Confluence after the migrations completes, please change the Group Search Filter back to the previous filter.