[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-04-27 Thread Jukka Zitting (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861405#action_12861405
 ] 

Jukka Zitting commented on JCR-2554:


Merged to the 1.6 branch in revision 938462.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, LockManager.patch, Xid.patch, Xid_v2 + 
> SynchronizedRef for markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, 
> Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-22 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848100#action_12848100
 ] 

Robert Sauer commented on JCR-2554:
---

Thanks, Claus. Can you provide a patch against 1.6.1 so I can additionally 
verify against our environment, too?



> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-18 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846822#action_12846822
 ] 

Claus Köll commented on JCR-2554:
-

On the first look i think the problem is in the LockManagerImpl. With the last 
commit I have reverted the code from the internal lockMapLock (ReentrantLock).
In that ReentrantLock there was a code with Xid aware but i have removed that 
because i thought that we do not need it anymore but in our
environment it causes deadlocks. I will take a deeper look on that.
greets

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

-- 
This message is automatically g

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-18 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846817#action_12846817
 ] 

Robert Sauer commented on JCR-2554:
---

What's the background? I would like to extend my test driver to may be expose 
this issue locally, too.

Thanks
Robert 




> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-15 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845742#action_12845742
 ] 

Claus Köll commented on JCR-2554:
-

I have taken a look at JCR-1600 and JCR-447 where the code was introduced but i 
found no ground why this code was modified in that way to ignore the 
waitingWriters_ variable. I will change the code to work as the SuperClass 
should work.
greets

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-15 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845355#action_12845355
 ] 

Robert Sauer commented on JCR-2554:
---


My interpretation is that it implements the WriterPreference part of the 
WriterPreferenceReadWriteLock super class. Essentially allowing no new readers 
as long as there is someone waiting to write (see JavaDoc of 
WriterPreferenceReadWriteLock).
I would suggest to stay as close as possible to the super implementation of 
overridden methods. It's part of both allowWriter() implementations for 
ReentrantWriterPreferenceReadWriteLock as well as WriterPreferenceReadWriteLock.

Practical side effect should be that TX-finalization will tend to be quicker in 
a mixed read/write scenario as parallel readers will not be able to starve 2PC 
requests.



> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2, 2.1.0
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transactio

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-15 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845334#action_12845334
 ] 

Claus Köll commented on JCR-2554:
-

Sounds good that it works now :-)

I dont know if we should consult the waitingWriters_ because this code was 
introduced in the internal RWLock while ago .. and i don't know exactly why ?
Yes you are right we will look how we migrate that code to the java1.5 
concurrent implementation ...

I will tag this issue to 1.6.2 so it will be in that release but i don't know 
the release date. 
Please feel free to post to the dev-mailing list so we can discuss release date 
there
greets
claus

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Fix For: 1.6.2
>
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransa

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-15 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845286#action_12845286
 ] 

Robert Sauer commented on JCR-2554:
---

Thanks, Claus. The v4 patch seems to do the trick.

One question: the allowReader() method in XidRWLock does not consult the 
waitingWriters_ member, contrary to the super implementation of allowReader(). 
I guess not doing so will loose the writer-preference property of the super 
class. Was this intended?
I applied this change locally and still things look fine.

Will this patch go into 1.6.2? Is there already a release date planned for 
1.6.2? We're very eager to be able to put the fix into production.

I agree that reusing edu-concurrent is probably be the safer way to implement 
this fix right now. However, in face of JCR-2089 I'm curious how this will 
translate eventually.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch, Xid_v4.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.s

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-14 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845070#action_12845070
 ] 

Claus Köll commented on JCR-2554:
-

I don't think that there is such scenario to handle both requests at one time.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-12 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1289#action_1289
 ] 

Robert Sauer commented on JCR-2554:
---

Fully understood.

Do you know of any scenario where one instance of ISMLocking might need to 
serve both XA as well as non-XA requests? 



> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-12 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1285#action_1285
 ] 

Claus Köll commented on JCR-2554:
-

I would like to have the XA specific locking based on Xids working in the 
DefaultISMLocking so that nobody must configure something special
if you change your environment to XA. 
I don't know how it is still possible to acquire a writeLock and then the 
setActiveXid has a other globalTransactionId than the Xid first marked inside a 
synchronized block 
that creates a lock on the instance itself ?
I will try to investigate more time to create a TestCase to get more 
informations about that race condition ..


> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(A

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-12 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844438#action_12844438
 ] 

Robert Sauer commented on JCR-2554:
---

Unfortunately still the same error.

Would you mind if we try to work backwards from my known to be good patch and 
provide a variant that covers both scenarios with one class? I think the core 
change will be adjusting the XidLockInfo class towards a simple LockInfo that 
may either be associated with an XID or just a thread.
Even if something like this would end up in an additional class (similar to 
FineGrainedISMLocking) that can be configured in repository.xml if someone 
likes that would be pretty fine with me.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionMan

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-12 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844408#action_12844408
 ] 

Claus Köll commented on JCR-2554:
-

i think that the internal Xid check is now ok but the problem is the race 
condition as we see in your picture attachement. i don't know
how you implemented the SynchronizedRef but i hope with a sync on a mutex 
should help now :-)

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 + SynchronizedRef for 
> markedXid.jpg, Xid_v2 deadlock.jpg, Xid_v2.patch, Xid_v3.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844109#action_12844109
 ] 

Robert Sauer commented on JCR-2554:
---

With Xid_v2 applied It's still hitting the error condition in 
DefaultISMLocking:136. Concurent threads are now deadlocking in 
DefaultISMLocking:67.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2 deadlock.jpg, 
> Xid_v2.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844097#action_12844097
 ] 

Robert Sauer commented on JCR-2554:
---

About to test this. But I think there still is a race condition with markedXid. 
It should be a SynchronizedRef as it is written from an unguarded code block.




> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch, Xid_v2.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844058#action_12844058
 ] 

Robert Sauer commented on JCR-2554:
---

Ok, I was just about to verify but will wait then.

Admittedly your patch is pretty elegant due to the small change required.
Still I have some reservation on having the underlying assumption of locks 
being bound to threads, and working around this assumption if an XID is 
present. Wonder how this carries over to java.util.concurrency eventually.

Thanks
Robert




> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844051#action_12844051
 ] 

Claus Köll commented on JCR-2554:
-

Found one more problem .. i will investigate and let you know if it works
greets

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch, Xid.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844032#action_12844032
 ] 

Claus Köll commented on JCR-2554:
-

You are absolutly right with your assumption.

I have tried to create a TestCase but it is a little bit hard but i will try to 
create one :-)
The Problem is that the prefered locking strategy in the DefaultISMLocking is 
per Thread. I will
write a patch that hanldes this a little bit easier than yours one without 
having two ISMLocking Instances.

greets
claus

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844010#action_12844010
 ] 

Robert Sauer commented on JCR-2554:
---

Essentially yes. I had breakpoint on all critical places, and this one was 
trigegred.

I assume the call sequences is as follows (having the JCA adapter driven by a 
WLS workmanager pool):
1. thread-a invokes prepare on behalf of XID_1
  - the write lock is granted to thread-a
  - XID_1 is stored as the ActiveXID
2. thread-a now invokes prepare on behalf of XID_2
  - tries to acquire the write lock, theoretically it should block until XID_1 
was committed
  - but due to the previous association between the write lock and thread-a 
locking succeeds
  - thread-a now tries to set the ActiveXID to XID_2, but as XID_1 is still 
active, it will just trace a warning
3. thread-b invokes commit on behalf of XID_1
  - the ActiveXID is cleared
  - the write lock gets released
4. eventually some thread invokes commit on behalf of XID_2, but as the 
ActiveXID was not set, signalling readers fails

I did not know how to easily fix 2. as the lock-to-thread association seems to 
be fundamentally wrong in this case. So I started with the different approach 
contained in the patch.

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransac

[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-11 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844000#action_12844000
 ] 

Claus Köll commented on JCR-2554:
-

Hi Robert,

Dou you have seen the warn message "Unable to set the ActiveXid while a other 
one is associated with a different GloalTransactionId with this RWLock."
with the original DefaultISMLocking ?

greets
claus

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-10 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12843940#action_12843940
 ] 

Claus Köll commented on JCR-2554:
-

Hi Robert,

Thank you for the Attachements ..  i will take a look on it so i look forward 
to create a good patch against the deadlock

greets
claus

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Assignee: Claus Köll
>Priority: Critical
> Attachments: ConcurrentReaders.java, 
> jr-core-xid-aware-ism-locking1.patch
>
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-10 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12843558#action_12843558
 ] 

Claus Köll commented on JCR-2554:
-

Could you attach your Implementation of ISM ?

> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Priority: Critical
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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



[jira] Commented: (JCR-2554) Deadlock inside XASession on Weblogic

2010-03-10 Thread Robert Sauer (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12843549#action_12843549
 ] 

Robert Sauer commented on JCR-2554:
---

The test driver is relatively simple as it just involves multiple threads 
reading from the repository in parallel sessions. Downside is just that I'm 
currently using an in house developed library on top of JCR which unfortuantely 
I cannot pass around.

Working on an isolated test driver that talks just plain JCR, though.


> Deadlock inside XASession on Weblogic
> -
>
> Key: JCR-2554
> URL: https://issues.apache.org/jira/browse/JCR-2554
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-core
>Affects Versions: 1.6.1, 2.0.0
> Environment: Weblogic 9.2
>Reporter: Robert Sauer
>Priority: Critical
>
> In one of our client deployments on WebLogic 9.2 we observed JackRabbit 
> sessions going stale in a load test. This was observed against release 1.6.1 
> (to which we migrated due to concurrency related issues JCR-2081 and 
> JCR-2237). Same effect with 2.0.0.
>  
> I could finally reproduce this issue locally. And it seems to boil down to 
> WLS invoking the sequence of  ...  ...  on one XA 
> session from multiple threads, as it seems breaking assumptions of the 
> thread-bound java.util.concurrent-RWLock based DefaultISMLocking class.
> Effectively the setActiveXid(..) method on DefaultISMLocking$RWLock fails as 
> the old active XID was not yet cleared. With the result of more and more 
> sessions deadlocking in below's invocation stack.
> {code}
> "[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" daemon prio=1 tid=0x33fc3ec0 nid=0x2324 in Object.wait() 
> [0x2156a000..0x2156beb0] at java.lang.Object.wait(Native Method) - waiting on 
> <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> java.lang.Object.wait(Object.java:474) at 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
>  Source) - locked <0x68a54698> (a 
> EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at 
> org.apache.jackrabbit.core.state.DefaultISMLocking$1.(DefaultISMLocking.java:64)
>  at 
> org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:61)
>  at 
> org.apache.jackrabbit.core.version.AbstractVersionManager.acquireWriteLock(AbstractVersionManager.java:146)
>  at 
> org.apache.jackrabbit.core.version.XAVersionManager$1.prepare(XAVersionManager.java:562)
>  at 
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
>  - locked <0x6dc2ad88> (a org.apache.jackrabbit.core.TransactionContext) at 
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331) at 
> org.apache.jackrabbit.jca.TransactionBoundXAResource.prepare(TransactionBoundXAResource.java:68)
>  at 
> weblogic.connector.security.layer.AdapterLayer.prepare(AdapterLayer.java:397) 
> at 
> weblogic.connector.transaction.outbound.XAWrapper.prepare(XAWrapper.java:297) 
> at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1276)
>  at 
> weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:499)
>  at 
> weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:335) 
> at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:243) at 
> weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:326)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2516)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2211)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
>  at 
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
>  at 
> weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:283)
>  at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1028)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>  at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> {code}

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