Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-7195

JIRA 6.4 as a Crowd Server does not work with Stash 3.4.3 or higher

XMLWordPrintable

      Summary

      There is a known compatibility issue that prevents the user management synchronisation between JIRA 6.4 and Stash 3.4.3+.

      This will only affect you if you use JIRA to manage your Stash users. The bug in JIRA is being tracked on JRA-42566.

      Steps to Reproduce

      1. Set up Stash 3.4.3+ with JIRA 6.4 configured as its User Management Server. To perform that, please refer to Connecting Stash to JIRA for user management
      2. Perform Synchronisation

      Expected Results

      Synchronisation should work just fine.

      Actual Results

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

      ERROR [clusterScheduler_Worker-4]  c.a.c.d.DbCachingDirectoryPoller Error occurred while refreshing the cache for directory [ 229377 ].
      com.atlassian.crowd.exception.OperationFailedException: Error from Crowd server propagated to here via REST API (check the Crowd server logs for details): Class type for return values ('interface com.atlassian.crowd.model.group.GroupWithAttributes') is not 'String' or 'Group'
      	at com.atlassian.crowd.integration.rest.service.RestCrowdClient.handleCommonExceptions(RestCrowdClient.java:1501) ~[crowd-integration-client-rest-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupsWithAttributes(RestCrowdClient.java:574) ~[crowd-integration-client-rest-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.RemoteCrowdDirectory.searchGroups(RemoteCrowdDirectory.java:547) ~[crowd-remote-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.findAllRemoteGroups(RemoteDirectoryCacheRefresher.java:80) ~[crowd-ldap-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.synchroniseAllGroups(RemoteDirectoryCacheRefresher.java:109) ~[crowd-ldap-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:91) ~[crowd-ldap-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.ldap.cache.EventTokenChangedCacheRefresher.synchroniseAll(EventTokenChangedCacheRefresher.java:67) ~[crowd-ldap-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1122) ~[crowd-core-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:76) ~[crowd-core-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:50) ~[crowd-core-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJobRunner.runJob(DirectoryPollerJobRunner.java:93) [crowd-core-2.8.1-m3.jar:na]
      	at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:153) [atlassian-scheduler-core-1.5.0.jar:na]
      	at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:118) [atlassian-scheduler-core-1.5.0.jar:na]
      	at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:97) [atlassian-scheduler-core-1.5.0.jar:na]
      	at com.atlassian.scheduler.quartz2.Quartz2Job.execute(Quartz2Job.java:32) [atlassian-scheduler-quartz2-1.5.0.jar:na]
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.2.1.jar:na]
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.2.1.jar:na]
      	... 13 frames trimmed
      Caused by: com.atlassian.crowd.integration.rest.service.CrowdRestException: Class type for return values ('interface com.atlassian.crowd.model.group.GroupWithAttributes') is not 'String' or 'Group'
      	at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.throwError(RestExecutor.java:660) ~[crowd-integration-client-rest-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:489) ~[crowd-integration-client-rest-2.8.1-m3.jar:na]
      	at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupsWithAttributes(RestCrowdClient.java:570) ~[crowd-integration-client-rest-2.8.1-m3.jar:na]
      	... 16 common frames omitted
      

      Solution / Workaround

      This is a bug in JIRA 6.4 and is fixed in JIRA 6.4.1. The preferred solution is to upgrade to JIRA 6.4.1.

      If upgrading JIRA is not possible, Stash 3.7.2 and 3.8.0 (but not 3.9.1+) contain a workaround and may be used with JIRA 6.4 as a Crowd Server.

            bplump Brent P
            frank.butzek Frank Butzek
            Votes:
            5 Vote for this issue
            Watchers:
            29 Start watching this issue

              Created:
              Updated:
              Resolved: