Uploaded image for project: 'Confluence Cloud'
  1. Confluence Cloud
  2. CONFCLOUD-54244

Groups with special characters cause Confluence to stop syncing with Crowd

XMLWordPrintable

      Steps to reproduce

      1. In an OnDemand JIRA+Confluence, create a group called something like "TEST-${KEY}".
      2. Manually trigger Confluence to sync with Crowd.

      This stack trace appears in the logs:

      2013-04-12 02:58:44,605 ERROR [scheduler_Worker-7] [atlassian.crowd.directory.DbCachingDirectoryPoller] pollChanges Error occurred while refreshing the cache for directory [ 65537 ].
      java.lang.IllegalArgumentException: can't parse argument number KEY
            at java.text.MessageFormat.makeFormat(MessageFormat.java:1339)
            at java.text.MessageFormat.applyPattern(MessageFormat.java:458)
            at java.text.MessageFormat.<init>(MessageFormat.java:350)
            at java.text.MessageFormat.format(MessageFormat.java:811)
            at com.atlassian.crowd.util.TimedOperation.complete(TimedOperation.java:18)
            at com.atlassian.crowd.directory.DirectoryCacheImplUsingChangeOperations.syncUserMembersForGroup(DirectoryCacheImplUsingChangeOperations.java:124)
            at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseMemberships(AbstractCacheRefresher.java:145)
            at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:84)
            at com.atlassian.crowd.directory.ldap.cache.EventTokenChangedCacheRefresher.synchroniseAll(EventTokenChangedCacheRefresher.java:59)
            at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:622)
            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.DirectoryPollerJobBean.executeInternal(DirectoryPollerJobBean.java:29)
            at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
            at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$1.run(ConfluenceQuartzThreadPool.java:20)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
      

      From that point forward, any changes made to groups or users in JIRA won't end up flowing through to Crowd.

      JIRA and Crowd itself both handle this group quite happily, Confluence should be able to as well.

              Unassigned Unassigned
              nmason Nick Mason
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: