Duplicate Objects Created after LDAP Username Modification
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. 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
Summary
Duplicate objects are created for the same user in assets when assets are configured with an LDAP directory to perform an import. The purpose of this article is to describe a scenario where these duplicate objects are created, how to identify it and how to fix it.
Environment
Jira Service Management on any version from 4.15.0.
Diagnosis
- The duplicate objects are mapping to 2 versions of the same user, each version with different cases. For example:
- john david
- John David
- The user was updated on the LDAP side from "john david" to "John David"
- The Match identifier is configured to be case sensitive in the object type mapping of the import
Cause
The root cause of the issue lies in the import configuration object type mapping. If the username is designated as the identifier, and if the Match identifier is configured to be case sensitive in the import configuration, the following will happen:
- During imports, any case change to the usernames is treated as a new object and imported into Assets accordingly
- The users "john david" and "John David" are treated a 2 different users rather than 1 single user
Solution
Below steps can be followed to resolve the issue:
In the import configuration, choose object type mapping for the impacted object type
Adjust the match identifier to be Case insensitive, as illustrated below:
Remove any duplicate objects that were generated during the previous import process
Execute another import operation; this time, it will only import and update the original existing objects