Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-23213

Merge memberships for groups with duplicate names during LDAP directory sync

XMLWordPrintable

    • 2
    • 13
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      Whatever the administrator enters in as the "Group name attribute" must be unique for all groups in the LDAP server. Typically this is the "CN" attribute.

      In the event that two different entities in LDAP are found with the same value for that attribute (CN), you receive the following stack trace.

      2011-09-01 00:26:43,979 ERROR [QuartzScheduler_Worker-2] [atlassian.crowd.directory.DbCachingDirectoryPoller] pollChanges Error occurred while refreshing the cache for directory [ 142802946 ].
      java.lang.IllegalArgumentException: duplicate key: duplicatedGroupName
      at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:62)
      at com.google.common.collect.ImmutableMap$Builder.fromEntryList(ImmutableMap.java:210)
      at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:196)
      at com.google.common.collect.Maps.uniqueIndex(Maps.java:456)
      at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseMemberships(AbstractCacheRefresher.java:126)
      

      Excluding these duplicates from the sync is not possible due to the fact that we can't control the order in which groups are returned from the LDAP server. If the ordering were to change between syncs, the memberships could keep changing on the Confluence side.

      The solution to this problem is to amalgamate memberships for groups which share the same name on the remote server. We should make this an option in the LDAP configuration.

              Unassigned Unassigned
              twong Tim Wong (Inactive)
              Votes:
              50 Vote for this issue
              Watchers:
              49 Start watching this issue

                Created:
                Updated: