Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-2715

Crowd LDAP synchronization does not work if there are two groups of the same name in LDAP directory

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Medium
    • None
    • 2.3.3
    • Directory - LDAP, Embedded
    • None

    Description

      When doing a sync in JIRA against an AD with two groups of the same name (but in different parts of the tree) you get an exception:

      2011-11-25 10:42:59,893 QuartzWorker-0 ERROR ServiceRunner     [atlassian.crowd.directory.DbCachingDirectoryPoller] Error occurred while refreshing the cache for directory [ 10000 ].
      java.lang.IllegalArgumentException: duplicate key: confluence-users
      	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)
      	at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:44)
      	at com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresher.synchroniseAll(UsnChangedCacheRefresher.java:223)
      	at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:619)
      	at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:63)
      	at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:50)
      	at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJob.execute(DirectoryPollerJob.java:34)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
      	at com.atlassian.multitenant.quartz.MultiTenantThreadPool$MultiTenantRunnable.run(MultiTenantThreadPool.java:72)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      

      This stops any group memberships from being synchronised into JIRA.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bbain bain
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: