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

Synchronization to AD directory fails intermittently or is taking a much longer time to finish after upgrading to Crowd 2.8

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 2.11.0
    • 2.8
    • None
    • None

    Description

      Steps to Reproduce

      1. Upgrade a CROWD instance to 2.8 where it has an AD directory configured.
      2. After the upgrade, try "Synchronise" CROWD with AD
      3. Most of the times Sync times out and fail with the following error:
        2014-12-29 11:18:50,295 scheduler_Worker-4 ERROR [atlassian.crowd.directory.DbCachingDirectoryPoller] Error occurred while refreshing the cache for directory [ 32770 ].
        com.atlassian.crowd.exception.OperationFailedException: Error looking up attributes for highestCommittedUSN
          at com.atlassian.crowd.directory.MicrosoftActiveDirectory.fetchHighestCommittedUSN(MicrosoftActiveDirectory.java:807)
          at com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresher.synchroniseChanges(UsnChangedCacheRefresher.java:115)
          at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1095)
          at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:76)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        ...
        Caused by: org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: LDAP response read timed out, timeout used:129000ms.; remaining name '/'
          at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:228)
          at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:820)
          at org.springframework.ldap.core.LdapTemplate.executeReadOnly(LdapTemplate.java:803)
          at org.springframework.ldap.core.LdapTemplate.lookup(LdapTemplate.java:832)
          at com.atlassian.crowd.directory.ldap.SpringLdapTemplateWrapper$3.timedCall(SpringLdapTemplateWrapper.java:179)
          at com.atlassian.crowd.directory.ldap.SpringLdapTemplateWrapper$TimedCallable.call(SpringLdapTemplateWrapper.java:124)
          at com.atlassian.crowd.directory.ldap.SpringLdapTemplateWrapper.invokeWithContextClassLoader(SpringLdapTemplateWrapper.java:87)
          at com.atlassian.crowd.directory.ldap.SpringLdapTemplateWrapper.lookup(SpringLdapTemplateWrapper.java:176)
          at com.atlassian.crowd.directory.MicrosoftActiveDirectory.fetchHighestCommittedUSN(MicrosoftActiveDirectory.java:783)
          ... 24 more
        Caused by: javax.naming.NamingException: LDAP response read timed out, timeout used:129000ms.; remaining name '/'
          at com.sun.jndi.ldap.Connection.readReply(Connection.java:483)
          at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:639)
          at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:562)
          at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1985)
          at com.sun.jndi.ldap.LdapCtx.doSearchOnce(LdapCtx.java:1934)
          at com.sun.jndi.ldap.LdapCtx.c_lookup(LdapCtx.java:1028)
          at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(ComponentContext.java:544)
          at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:177)
          at javax.naming.InitialContext.lookup(InitialContext.java:415)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at org.springframework.ldap.transaction.compensating.manager.TransactionAwareDirContextInvocationHandler.invoke(TransactionAwareDirContextInvocationHandler.java:90)
          at com.sun.proxy.$Proxy383.lookup(Unknown Source)
          at org.springframework.ldap.core.LdapTemplate$9.executeWithContext(LdapTemplate.java:834)
          at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:817)
          ... 31 more
        

        Sync works fine on older versions of CROWD.

      Possible Workaround:

      Setting "Read timeout" in "Connector" tab to 0. This will disable the timeout, but it might result in Sync taking longer to finish.

      Attachments

        Issue Links

          Activity

            People

              ppetrowski Patryk
              htoussi HosseinA
              Votes:
              8 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: