jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (JCR-754) Exception when concurrently adding nodes with JCA and XA transactions
Date Fri, 09 Mar 2007 09:03:24 GMT

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

Jukka Zitting resolved JCR-754.
-------------------------------

    Resolution: Duplicate
      Assignee: Jukka Zitting

Resolving as a duplicate of JCR-18.

Creating a mix:versionable node is a versioning operation, and needs to be explicitly synchronized
since we still unfortunately don't support concurrent versioning.

The required synchronization can be achieved either with a JCR lock or with some external
locking mechanism.

> 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
>         Assigned To: Jukka Zitting
>            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.


Mime
View raw message