Active Directory incremental synchronization is intermittently failing in Bitbucket Datacenter

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs 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.

*Fisheye および Crucible は除く

要約

When AD external directory is configured for incremental sync, it may intermittently fail with the following error and revert to a full sync


2024-09-18 10:45:31,641 ERROR [Caesium-1-4]  c.a.c.d.DbCachingRemoteDirectory Incremental synchronisation for directory [ 45526243 ] was unexpectedly interrupted, falling back to a full synchronisation
com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresherIncSyncException: Cache returned different number of guids and non-local groups (possible reason is overlapping guids in cache, most likely null/empty values).
    at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.getAndValidateGroupGuidsFromCache(UsnChangedCacheRefresher.java:445)
    at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.synchroniseGroupChanges(UsnChangedCacheRefresher.java:395)
    at com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.synchroniseChanges(UsnChangedCacheRefresher.java:129)
    at com.atlassian.stash.internal.crowd.CustomizedUsnChangedCacheRefresher.synchroniseChanges(CustomizedUsnChangedCacheRefresher.java:66)
    at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1080)
    at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.lambda$synchronise$0(DirectorySynchroniserImpl.java:87)
    at com.atlassian.crowd.audit.NoOpAuditLogContext.withAuditLogSource(NoOpAuditLogContext.java:17)
    at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:85)
    at jdk.internal.reflect.GeneratedMethodAccessor5766.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at jdk.proxy3/jdk.proxy3.$Proxy276.synchronise(Unknown Source)
    at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:48)
    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:518)
    at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:513)
    at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:537)
    at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:433)
    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.base/java.lang.Thread.run(Thread.java:840)
    ... 9 frames trimmed


2024-09-18 10:45:31,649 INFO  [Caesium-1-4]  c.a.c.d.DbCachingRemoteDirectory FULL synchronisation for directory [ 45526243 ] starting


環境

7.x,8.x

原因


The following error messages in the logs indicate that groups are getting modified or renamed in the Active Directory, which is internally causing an issue with the incremental sync and Bitbucket is switching back to full sync.

com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresherIncSyncException: Cache returned different number of guids and non-local groups (the possible reason is overlapping guids in the cache, most likely null/empty values) 

Additionally, the following error can be seen shows that groups are being added and deleted, indicating changes within the groups

2024-07-18 10:45:32,891 DEBUG [Caesium-1-4]  c.a.c.d.DbCachingRemoteChangeOperations group [ testGlobalGrp ] not found, deleting
2024-07-18 10:45:32,896 DEBUG [Caesium-1-4]  c.a.c.d.DbCachingRemoteChangeOperations group [ DEVTools ] not found, deleting
2024-07-18 10:45:33,447 DEBUG [Caesium-1-4]  c.a.c.d.s.c.DefaultGroupActionStrategy group 'ExcelLabsgroup' not found, adding
2024-07-18 10:45:33,449 DEBUG [Caesium-1-4]  c.a.c.d.s.c.DefaultGroupActionStrategy group 'citrix-group' not found, adding 


ソリューション

Please confirm whether changes are being applied to the existing group names at the Active Directory level. If so, please be advised that groups cannot be renamed. We have a known issue, CWD-3606, where incremental synchronization fails to correctly recognize LDAP group renaming. This necessitates reverting to full synchronization, which resolves the issue of group renaming.



最終更新日 2024 年 9 月 26 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.