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

Occasional failures related to referral links.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Medium
    • None
    • 2.3
    • None
    • Tomcat5, Postgres, 2 node cluster

    Description

      Occasionally Hibernate finds an inconsistency relating to the foreign key from the external links table (extrnlnks) and the content table.

      For example the following stack trace occurred when removing a page.

      2006-12-29 11:42:15,164 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      2006-12-29 11:42:15,164 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      2006-12-29 11:42:15,165 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions ERROR: update or delete on "content" violates foreign key constraint "fk97c10fe78dd41734" on "extrnlnks"
      Detail: Key (contentid)=(164138) is still referenced from table "extrnlnks".
      2006-12-29 11:42:15,165 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions ERROR: update or delete on "content" violates foreign key constraint "fk97c10fe78dd41734" on "extrnlnks"
      Detail: Key (contentid)=(164138) is still referenced from table "extrnlnks".
      2006-12-29 11:42:15,168 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      2006-12-29 11:42:15,168 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      2006-12-29 11:42:15,169 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions ERROR: update or delete on "content" violates foreign key constraint "fk97c10fe78dd41734" on "extrnlnks"
      Detail: Key (contentid)=(164138) is still referenced from table "extrnlnks".
      2006-12-29 11:42:15,169 ERROR [http-12300-Processor24] [sf.hibernate.util.JDBCExceptionReporter] logExceptions ERROR: update or delete on "content" violates foreign key constraint "fk97c10fe78dd41734" on "extrnlnks"
      Detail: Key (contentid)=(164138) is still referenced from table "extrnlnks".
      2006-12-29 11:42:15,171 ERROR [http-12300-Processor24] [sf.hibernate.impl.SessionImpl] execute Could not synchronize database state with session
      2006-12-29 11:42:15,171 ERROR [http-12300-Processor24] [sf.hibernate.impl.SessionImpl] execute Could not synchronize database state with session
      java.lang.reflect.InvocationTargetException
      at sun.reflect.GeneratedMethodAccessor343.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at com.atlassian.confluence.rpc.auth.TokenAuthenticationInvocationHandler.handleAuthenticatedMethod(TokenAuthenticationInvocationHandler.java:99)
      at com.atlassian.confluence.rpc.auth.TokenAuthenticationInvocationHandler.invoke(TokenAuthenticationInvocationHandler.java:58)
      at $Proxy60.nukeForTests(Unknown Source)
      at sun.reflect.GeneratedMethodAccessor439.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.xmlrpc.Invoker.execute(Invoker.java:130)
      at org.apache.xmlrpc.XmlRpcWorker.invokeHandler(XmlRpcWorker.java:84)
      at org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:146)
      at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:139)
      at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:114)
      at com.atlassian.confluence.rpc.xmlrpc.XmlRpcServer.serviceXmlRpcRequest(XmlRpcServer.java:87)
      at com.atlassian.confluence.rpc.xmlrpc.XmlRpcServer.service(XmlRpcServer.java:61)
      at com.atlassian.confluence.servlet.SpringManagedServlet.service(SpringManagedServlet.java:64)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:159)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: org.springframework.dao.DataIntegrityViolationException: (Hibernate operation): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:93)
      at org.springframework.orm.hibernate.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:249)
      at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:231)
      at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:317)
      at org.springframework.orm.hibernate.HibernateTemplate.executeFind(HibernateTemplate.java:293)
      at com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao.getDescendents(HibernatePageDao.java:449)
      at com.atlassian.confluence.pages.DefaultPageManager.getDescendents(DefaultPageManager.java:153)
      at com.atlassian.confluence.pages.DefaultPageManager.removePageFromAncestorCollections(DefaultPageManager.java:180)
      at com.atlassian.confluence.pages.Page.remove(Page.java:192)
      at com.atlassian.confluence.pages.Page$$FastClassByCGLIB$$b75f5c02.invoke(<generated>)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      at net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:108)
      at com.atlassian.confluence.pages.Page$$EnhancerByCGLIB$$64cf1222.remove(<generated>)
      at com.atlassian.confluence.pages.DefaultPageManager.removeAllPages(DefaultPageManager.java:200)
      at sun.reflect.GeneratedMethodAccessor453.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
      at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
      at $Proxy19.removeAllPages(Unknown Source)
      at com.atlassian.confluence.spaces.DefaultSpaceManager.removeSpace(DefaultSpaceManager.java:120)
      at sun.reflect.GeneratedMethodAccessor452.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
      at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
      at $Proxy25.removeSpace(Unknown Source)
      at com.atlassian.confluence.test.rpc.FuncTestRpcHandlerImpl.nukeForTests(FuncTestRpcHandlerImpl.java:108)
      at sun.reflect.GeneratedMethodAccessor343.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
      at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
      at $Proxy57.nukeForTests(Unknown Source)
      at com.atlassian.confluence.test.rpc.FuncTestRpcDelegator.nukeForTests(FuncTestRpcDelegator.java:19)
      ... 48 more
      Caused by: java.sql.BatchUpdateException: Batch entry 0 delete from CONTENT where CONTENTID=164138 was aborted. Call getNextException to see the cause.
      at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2478)
      at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1298)
      at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:347)
      at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2540)
      at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
      at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
      at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:128)
      at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2438)
      at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2397)
      at net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1821)
      at net.sf.hibernate.impl.SessionImpl.findBySQL(SessionImpl.java:3863)
      at net.sf.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:52)
      at com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao$4.doInHibernate(HibernatePageDao.java:459)
      at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312)
      ... 97 more

      Attachments

        Activity

          People

            Unassigned Unassigned
            don.willis@atlassian.com Don Willis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: