[ 
https://issues.apache.org/jira/browse/JCR-754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrzej Dengusiak updated JCR-754:
----------------------------------

    Attachment: dms_test_case.zip

I'm attaching file containing EJB with a method adding nodes and other files 
for deployment on JBoss and a simple code running 20 threads running that EJB 
method concurrently.

> Exception when concurrently adding nodes with JCA and XA transactions
> ---------------------------------------------------------------------
>
>                 Key: JCR-754
>                 URL: https://issues.apache.org/jira/browse/JCR-754
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: core, jca, transactions, versioning
>    Affects Versions: 1.2.1
>         Environment: JBoss 4.0.3SP1, Java 1.4.2_12-b03, 
>            Reporter: Andrzej Dengusiak
>            Priority: Blocker
>         Attachments: dms_test_case.zip
>
>
> 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to