You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Daniel Hasler (JIRA)" <ji...@apache.org> on 2010/03/01 14:55:05 UTC

[jira] Created: (JCR-2523) StaleItemStateException during distributed transaction

StaleItemStateException during distributed transaction
------------------------------------------------------

                 Key: JCR-2523
                 URL: https://issues.apache.org/jira/browse/JCR-2523
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core, jackrabbit-jca
    Affects Versions: 2.0.0
         Environment: weblogic 10.3, jdk1.6.0_05, linux
            Reporter: Daniel Hasler


We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.

Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).

I tried to apply the proposed fix on the trunk code base, but this seemed not to help.

Stack-Trace:
javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
        at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
        at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
        at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
        at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
        at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
        at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
javax.transaction.xa.XAException                                                                                                                                                                                                
        at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
        at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
        at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
        at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
        at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
        at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
        at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
        at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
        at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
        at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
        at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
        at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
        at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
        at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
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:154)                                                                                                                                   
        at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
        at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
        at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
        at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
        at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
        at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
        at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
        at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
        at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
        at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
        at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
        at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
        at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
        at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
        at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
        at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
        at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
        at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
        at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
        at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
        at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
        at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
        at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
        at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
        at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
        at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
        at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
        at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
        at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
        at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
>                                                                                                                                                                                                                               

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


[jira] Commented: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Marcel Reutegger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12872142#action_12872142 ] 

Marcel Reutegger commented on JCR-2523:
---------------------------------------

> Is this the correct and intended behaviour?

yes, this is intended behaviour.

> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0, 2.1.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>         Attachments: JCRRepository.java, UpdateTestServlet.java
>
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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


[jira] Commented: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Daniel Hasler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840866#action_12840866 ] 

Daniel Hasler commented on JCR-2523:
------------------------------------

Hi Dominique

thanks for your reply.
I had a look at the XATests. Those tests do not cover my use-case. To reproduce my error, I need at least two XAResources participating in the XA Transaction.
I will anyhow try to create a test (which involves extending the simplistic UserTransactionImpl) by adding another Derby DB as the second XAResource.
But this will take some time and maybe does not sufficiently reflect my setup with the Weblogic Server and the MySQL database as the second XAResource (with LLR XA support from WLS).

In the meantime I had a closer look at the code starting at line 650 of the SharedItemStateManager (Rev. 918623):

The code iterates over the list of modifiedStates of the local ChangeLog.
Whenever the code encounters a stale ItemState that relates to a Node, it tries to merge that node.
If the ItemState is stale and it's not related to a node, the code will always throw a StaleItemStateException.
Is this the correct and intended behaviour?
As you mentioned in your comment, stale PropertyStates are never merged. But by browsing through the code, I get the impression, that it's perfectly possible that the list of modified states contains a PropertyState... which in our case leads to the erroneous StaleItemStateException.

Thanks for investigating further.

Kind Regards,
Dani

> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>         Attachments: JCRRepository.java, UpdateTestServlet.java
>
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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


[jira] Commented: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840571#action_12840571 ] 

Dominique Pfister commented on JCR-2523:
----------------------------------------

Hi Daniel,

JCR-1554 was fixed in trunk as well as in 1.5.3, so I don't see what code you're referring to. Stale property values are never merged, so this looks like some code is updating the property concurrently with the code committing your transaction. There is a JUnit test class named

org.apache.jackrabbit.core.XATest

containing tests that apply to XA environment, using simplistic UserTransactions. Are you able to add a test method that reproduces your problem? This would help a lot investigating your issue!

Kind regards
Dominique

> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>         Attachments: JCRRepository.java, UpdateTestServlet.java
>
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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


[jira] Updated: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Daniel Hasler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Hasler updated JCR-2523:
-------------------------------

    Attachment: JCRRepository.java
                UpdateTestServlet.java

Sample code that helps reproduce the error.

The Source File contains a servlet that runs in a application server and is therfore able to create a user transaction.
Within that user transaction, we use two XA Resources: The Jackrabbit JCA Adapter and a MySQL Database for which we emulate two-phase commit.

The overall behaviour is somewhat strange:
First deploy the Servlet with the update statement active. No call the servlet once and the call will succeed.
Upon subsequent calls to the servlet with the insert statement removed, the error will show up.
Maybe this is because only after the first call Jackrabbit uses a SharedItemStateManager?

> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>         Attachments: JCRRepository.java, UpdateTestServlet.java
>
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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


[jira] Commented: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Daniel Hasler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840334#action_12840334 ] 

Daniel Hasler commented on JCR-2523:
------------------------------------

I did some further debugging that revealed the following:

During update, the shared item state manager iterates over the modified states of the local ChangeLog.
If the modified item is a node, he merges the node states.
Obviously, the list of modified items may as well contain PropertyState objects. The isNode() method for a PropertyState object always returns false.

Assumption: I don't yet know jackrabbit well enough and cannot definitely say wether a PropertyState needs merging or not. If not, the fix is simple:
If the ItemState object does not relate to a node, we need not check if the merge was successful and safely can set the default of the merged flag to true.


> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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


[jira] Updated: (JCR-2523) StaleItemStateException during distributed transaction

Posted by "Daniel Hasler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Hasler updated JCR-2523:
-------------------------------

    Affects Version/s: 2.1.0

> StaleItemStateException during distributed transaction
> ------------------------------------------------------
>
>                 Key: JCR-2523
>                 URL: https://issues.apache.org/jira/browse/JCR-2523
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, jackrabbit-jca
>    Affects Versions: 2.0.0, 2.1.0
>         Environment: weblogic 10.3, jdk1.6.0_05, linux
>            Reporter: Daniel Hasler
>         Attachments: JCRRepository.java, UpdateTestServlet.java
>
>
> We use the Jackrabbit JCA Component within a Weblogic 10.3 Application Server with distributed transactions between an Oracle Database an the Jackrabbit JCA.
> Updating a node property multiple times in a transaction results in a XAException. Root cause seems to be a StaleItemStateException (see Stack-Trace).
> Googling revealed, that a similar bug was fixed for Jackrabbit 1.5.3. Looking through the code showed, that the proposed fix in JCR-1554 seems not to be applied on Jackrabbit 2.0 (tag and trunk).
> I tried to apply the proposed fix on the trunk code base, but this seemed not to help.
> Stack-Trace:
> javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: javax.transaction.xa.XAException                                                                                             
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:238)                                                                                                            
>         at weblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)                                                                                                                          
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> javax.transaction.xa.XAException                                                                                                                                                                                                
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:171)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> 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:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> org.apache.jackrabbit.core.state.StaleItemStateException: e1863ec3-4eb7-483b-b1db-7586c089bc64/{}To has been modified externally                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:653)                                                                                                                
>         at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1110)                                                                                                                
>         at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)                                                                                                                             
>         at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)                                                                                                                                   
>         at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:346)                                                                                                                                              
>         at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(TransactionBoundXAResource.java:39)                                                                                                                      
>         at weblogic.connector.security.layer.AdapterLayer.commit(AdapterLayer.java:252)                                                                                                                                         
>         at weblogic.connector.transaction.outbound.XAWrapper.commit(XAWrapper.java:113)                                                                                                                                         
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1334)                                                                                                                            
>         at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:578)                                                                                                                             
>         at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:547)                                                                                                                                        
>         at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2006)                                                                                                                     
>         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2723)                                                                                                               
>         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2645)                                                                                                                    
>         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:282)                                                                                                                   
>         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)                                                                                                                           
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:591)                                                                                                                                
>         at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:424)                                                                                                                          
>         at ch.ejpd.sireneit.facade.ejb.ablage.DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.updateStructuredDokument(DokumentFacadeBean_7xdnsq_DokumentFacadeImpl.java:340)                                                      
>         at ch.ejpd.sireneit.access.rest.ablage.DokumentResource.update(DokumentResource.java:453)                                                                                                                               
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                                                                          
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                                                                                        
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                                                                                
>         at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                                                                                     
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175)                                                
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)                                                                                         
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:109)                                                                                                                                  
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)                                                                                                                             
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)                                                                                                                            
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)                                                                                                                
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)                                                                                                                 
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)                                                                                                                 
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)                                                                                                                                     
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)                                                                                                                             
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)                                                                                                                             
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)                                                                                                                                                         
>         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)                                                                                                                   
>         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)                                                                                                                              
>         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)                                                                                                                                          
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)                                                                                                                                                    
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at ch.ejpd.lib.webclient.jfa.JfaTokenServletFilter.doFilter(JfaTokenServletFilter.java:108)                                                                                                                             
>         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)                                                                                                                                          
>         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)                                                                                                           
>         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                                                                              
>         at weblogic.security.service.SecurityManager.runAs(Unknown Source)                                                                                                                                                      
>         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)                                                                                                                        
>         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)                                                                                                                               
>         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)                                                                                                                                       
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)                                                                                                                                                          
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)                                                                                                                                                              
> >                                                                                                                                                                                                                               

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