Uploaded image for project: 'Bitbucket Server'
  1. Bitbucket Server
  2. BSERV-11814

Incremental synchronization is failing with duplicated groups

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.3.0, 6.4.0, 6.3.2
    • Fix Version/s: 7.0.0
    • Component/s: None
    • Labels:

      Description

      Issue Summary

      The incremental synchronization is failing when there are duplication between two groups in LDAP output or when the group name from LDAP matches exactly the name of the local group.

      Steps to Reproduce

      See bugs from crowd:

      • CWD-5323
      • CWD-5308

        Expected Results

        The incremental synchronization finished successfully.

        Actual Results

      The below exception is thrown in the atlassian-bitbucket.log file:

       ERROR [Caesium-1-1] c.a.c.d.DbCachingRemoteDirectory Incremental synchronisation for directory [ xxxxxxx ] was unexpectedly interrupted, falling back to a full synchronisation
      com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresherIncSyncException: Problems while looking up users by objectGUID in ActiveDirectory detected, falling back to a full sync.
      at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.lambda$synchroniseGroupChanges$4(UsnChangedCacheRefresher.java:451)
      at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
      at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
      at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
      at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.synchroniseGroupChanges(UsnChangedCacheRefresher.java:458)
      at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.synchroniseChanges(UsnChangedCacheRefresher.java:111)
      at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1006)
      at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.lambda$synchronise$0(DirectorySynchroniserImpl.java:80)
      at com.atlassian.crowd.audit.NoOpAuditLogContext.withAuditLogSource(NoOpAuditLogContext.java:17)
      at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:78)
      at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:45)
      at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJobRunner.runJob(DirectoryPollerJobRunner.java:92)
      at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134)
      at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106)
      at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90)
      at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:435)
      at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:430)
      at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:454)
      at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:382)
      at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)
      at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)
      at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
      at java.lang.Thread.run(Thread.java:748)
      ... 11 frames trimmed
      

      Workaround

      The only available workaround is to remove the duplication.
      The duplication can be removed also by changing the Group Name Attribute in settings to non-duplicated one (cn to sAMAccountName for example).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              ashaleev Anton Shaleev
              Votes:
              2 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: