Uploaded image for project: 'Confluence Server'
  1. Confluence Server
  2. CONFSERVER-17926

Daily Notifications for users are removed when there is network issues to the LDAP server

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Low
    • Resolution: Won't Fix
    • Affects Version/s: 3.0.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      When you get an error during the processing of daily reports, e.g.

      2009-11-22 00:00:00,552 ERROR [DefaultQuartzScheduler_Worker-5] [user.impl.ldap.LDAPUserManagerReadOnly] getUser Error retrieving user: 'USER NAME' from LDAP.
      com.atlassian.user.impl.ldap.repository.LdapConnectionFailedException: javax.naming.CommunicationException: ldap.server:389 [Root exception is java.net.NoRouteToHostException: No route to host]
      	at com.atlassian.user.impl.ldap.repository.DefaultLdapContextFactory.getLDAPContext(DefaultLdapContextFactory.java:93)
      	at com.atlassian.user.impl.ldap.search.DefaultLDAPUserAdaptor.search(DefaultLDAPUserAdaptor.java:70)
      	at com.atlassian.user.impl.ldap.search.DefaultLDAPUserAdaptor.search(DefaultLDAPUserAdaptor.java:54)
      	at com.atlassian.user.impl.ldap.LDAPUserManagerReadOnly.getUser(LDAPUserManagerReadOnly.java:70)
      	at com.atlassian.user.impl.cache.CachingUserManager.getUser(CachingUserManager.java:72)
      	at com.atlassian.user.impl.delegation.DelegatingUserManager.getUser(DelegatingUserManager.java:68)
      	at bucket.user.DefaultUserAccessor.getUser(DefaultUserAccessor.java:146)
      	at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy31.getUser(Unknown Source)
      	at com.atlassian.confluence.mail.ChangeDigestNotificationBean.getAllChangeReports(ChangeDigestNotificationBean.java:158)
      	at com.atlassian.confluence.mail.jobs.DailyReportJob.doExecute(DailyReportJob.java:59)
      	at com.atlassian.quartz.jobs.AbstractJob.executeInternal(AbstractJob.java:87)
      	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
      	at com.atlassian.confluence.setup.quartz.DelegatingClusterAwareQuartzJobBean.executeJob(DelegatingClusterAwareQuartzJobBean.java:16)
      	at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63)
      	at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46)
      	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      Caused by: javax.naming.CommunicationException: ldap.server:389 [Root exception is java.net.NoRouteToHostException: No route to host]
      	at com.sun.jndi.ldap.Connection.<init>(Connection.java:200)
      	at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
      	at com.sun.jndi.ldap.LdapClientFactory.createPooledConnection(LdapClientFactory.java:46)
      	at com.sun.jndi.ldap.pool.Connections.<init>(Connections.java:97)
      	at com.sun.jndi.ldap.pool.Pool.getPooledConnection(Pool.java:114)
      	at com.sun.jndi.ldap.LdapPoolManager.getLdapClient(LdapPoolManager.java:310)
      	at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1572)
      	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)
      	at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
      	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
      	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
      	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
      	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
      	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
      	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
      	at javax.naming.InitialContext.init(InitialContext.java:223)
      	at javax.naming.InitialContext.<init>(InitialContext.java:197)
      	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
      	at com.atlassian.user.impl.ldap.repository.DefaultLdapContextFactory.getLDAPContext(DefaultLdapContextFactory.java:89)
      	... 28 more
      Caused by: java.net.NoRouteToHostException: No route to host
      	at java.net.PlainSocketImpl.socketConnect(Native Method)
      	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
      	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
      	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
      	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
      	at java.net.Socket.connect(Socket.java:525)
      	at sun.reflect.GeneratedMethodAccessor7143.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.sun.jndi.ldap.Connection.createSocket(Connection.java:339)
      	at com.sun.jndi.ldap.Connection.<init>(Connection.java:187)
      	... 46 more
      

      Then the daily report setting for the user "USER NAME" is removed.

      It should not be removed unless the user does not exist, but we should handle cases where the error returned is a network issue.

        Attachments

          Activity

            People

            • Votes:
              5 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Last commented:
                3 years, 12 weeks ago