Amit Parikh created JCR-3422:
--------------------------------

             Summary: Jackrabbit throwing StaleItemStateException on XA 
transaction commit
                 Key: JCR-3422
                 URL: https://issues.apache.org/jira/browse/JCR-3422
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core, transactions
    Affects Versions: 2.4.3, 2.4.2, 2.4.1
         Environment: Linux (RHEL 6.3), JDK 1.7, Glassfish 3.1.2
            Reporter: Amit Parikh
            Priority: Blocker


The issue occurs when concurrent XA transaction commits are happening. 

On XA transaction commit call from MDB (Message Driven Bean) container 
following exception is thrown by Jackrabbit

javax.transaction.xa.XAException
        at 
org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:160)
        at 
org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:310)
        at 
org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:78)
        at 
com.sun.enterprise.resource.XAResourceWrapper.prepare(XAResourceWrapper.java:111)
        at com.sun.jts.jtsxa.OTSResourceImpl.prepare(OTSResourceImpl.java:273)
        at 
com.sun.jts.CosTransactions.RegisteredResources.distributePrepare(RegisteredResources.java:518)
        at 
com.sun.jts.CosTransactions.TopCoordinator.prepare(TopCoordinator.java:1846)
        at 
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:357)
        at 
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
        at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:633)
        at 
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:332)
        at 
com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.commitDistributedTransaction(JavaEETransactionManagerJTSDelegate.java:174)
        at 
com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:861)
        at 
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5136)
        at 
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4901)
        at 
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1211)
        at 
com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1186)
        at 
com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:86)
        at 
com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:143)
        at $Proxy264.afterDelivery(Unknown Source)
        at 
com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:328)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114)
        at 
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
        at 
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: org.apache.jackrabbit.core.TransactionException: Unable to prepare 
transaction.
        at 
org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:169)
        at 
org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:143)
        ... 23 more
Caused by: org.apache.jackrabbit.core.state.StaleItemStateException: 
781c1637-120a-4b6b-8916-d2cb232b9848/{http://www.hitachi-hta.com/iframe/1.0}lastModified
 has been modified externally
        at 
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:673)
        at 
org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1467)
        at 
org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)
        ... 24 more



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to