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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Fix
    • Low
    • None
    • 3.0.1
    • None

    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

            shaffenden Steve Haffenden (Inactive)
            pkamal Partha
            Votes:
            5 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: