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

Incremental Sync in Active Directory fails when local groups are enabled

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Low Low
    • 3.3.2, 3.2.6
    • 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5
    • None

      Currently incremental sync on Active Directory will fail when local groups are enabled, this is a new bug introduced in Crowd 3.2

      Steps to Reproduce:

      1. Have an Active Directory with incremental sync enabled
      2. Enable Local groups
      3. Add at least one local group

      Full synchronization will complete successfully, but incremental syncs will fail with the following exception in the logs

      com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresherIncSyncException: Cache returned different number of guids and groups (possible reason is overlapping guids in cache, most likely null/empty values).
              at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.validateAndReturnGroupGuidsToAddAndDelete(UsnChangedCacheRefresher.java:380)
              at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.synchroniseGroupChanges(UsnChangedCacheRefresher.java:406)
              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.AuditLogContextInternalImpl.withAuditLogSource(AuditLogContextInternalImpl.java:52)
              at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:78)
              at sun.reflect.GeneratedMethodAccessor1383.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
              at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
              at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
              at com.sun.proxy.$Proxy68.synchronise(Unknown Source)
              at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:45)
              at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJobRunner.runJob(DirectoryPollerJobRunner.java:85)
              at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:153)
              at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:118)
              at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:97)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:443)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:438)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:462)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:390)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$1.consume(CaesiumSchedulerService.java:285)
              at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$1.consume(CaesiumSchedulerService.java:282)
              at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:65)
              at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:59)
              at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:34)
              at java.lang.Thread.run(Thread.java:748)
      

          Form Name

            [CWD-5256] Incremental Sync in Active Directory fails when local groups are enabled

            Anton added a comment -

            We have this problem, and since we have a very large number of users (75,000+), this makes work very difficult

            Anton added a comment - We have this problem, and since we have a very large number of users (75,000+), this makes work very difficult

              Unassigned Unassigned
              gagarwal@atlassian.com Gaurav Agarwal (Inactive)
              Affected customers:
              9 This affects my team
              Watchers:
              17 Start watching this issue

                Created:
                Updated:
                Resolved: