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

Groups with special characters cause Confluence to stop syncing with Crowd

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: