Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-754

Exception when concurrently adding nodes with JCA and XA transactions

    XMLWordPrintableJSON

Details

    Description

      We're using Jackrabbit 1.2.1 with JCA, versioning and XA transactions on JBoss 4.0.3SP1.
      Everything works fine as long as there is only one user accessing repository and adding nodes at a given time.
      But sometimes if there are more users concurrently adding nodes under the same node, following error occurs:

      2007-02-16 17:39:30,545 INFO [STDOUT] Caused by: javax.jcr.RepositoryException: 14fad421-1276-47b2-b667-50b2013944e3: 14fad421-1276-47b2-b667-50b2013944e3
      2007-02-16 17:39:30,545 INFO [STDOUT] at org.apache.jackrabbit.core.version.NodeStateEx.store(NodeStateEx.java:504)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.core.version.AbstractVersionManager.createVersionHistory(AbstractVersionManager.java:306)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.core.version.XAVersionManager.createVersionHistory(XAVersionManager.java:144)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.core.ItemImpl.initVersionHistories(ItemImpl.java:771)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1181)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.apache.jackrabbit.jca.JCASessionHandle.save(JCASessionHandle.java:178)
      2007-02-16 17:39:30,595 INFO [STDOUT] at xxx.dms.helpers.DmsHelper.saveSession(DmsHelper.java:131)
      2007-02-16 17:39:30,595 INFO [STDOUT] at xxx.dms.ejb.DmsSessionBean.addDocumentMetadata(DmsSessionBean.java:173)
      2007-02-16 17:39:30,595 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2007-02-16 17:39:30,595 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      2007-02-16 17:39:30,595 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      2007-02-16 17:39:30,595 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.ws.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:64)
      2007-02-16 17:39:30,595 INFO [STDOUT] at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
      2007-02-16 17:39:30,655 INFO [STDOUT] at org.jboss.ejb.Container.invoke(Container.java:954)
      2007-02-16 17:39:30,655 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2007-02-16 17:39:30,655 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      2007-02-16 17:39:30,655 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      2007-02-16 17:39:30,655 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      2007-02-16 17:39:30,665 INFO [STDOUT] at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:819)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:420)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      2007-02-16 17:39:30,715 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.rmi.transport.Transport$1.run(Transport.java:148)
      2007-02-16 17:39:30,715 INFO [STDOUT] at java.security.AccessController.doPrivileged(Native Method)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
      2007-02-16 17:39:30,715 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
      2007-02-16 17:39:30,715 INFO [STDOUT] ... 1 more
      2007-02-16 17:39:30,715 INFO [STDOUT] Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException: 14fad421-1276-47b2-b667-50b2013944e3
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:261)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:95)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:150)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:226)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.version.NodeStateEx.store(NodeStateEx.java:532)
      2007-02-16 17:39:30,715 INFO [STDOUT] at org.apache.jackrabbit.core.version.NodeStateEx.store(NodeStateEx.java:502)
      2007-02-16 17:39:30,775 INFO [STDOUT] ... 48 more

      Sometimes we get StaleItemStateException as well.

      We're using org.apache.jackrabbit.core.fs.local.LocalFileSystem
      and org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager with external BLOBs

      This issue is blocking production use of Jackrabbit for us.

      regards,
      Andrzej Dengusiak, PB Polsoft

      Attachments

        1. dms_test_case.zip
          9.50 MB
          Andrzej Dengusiak

        Issue Links

          Activity

            People

              jukkaz Jukka Zitting
              endriu Andrzej Dengusiak
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: