[ https://issues.apache.org/jira/browse/JCR-1979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676677#action_12676677 ]
tomekdab edited comment on JCR-1979 at 2/25/09 7:19 AM: --------------------------------------------------------------- I forgot to add that there few more threads waiting for readLock (session create & session logout operations). Here are the related thread dumps: "http-8080-40" daemon prio=10 tid=0x0892e400 nid=0x6ddb in Object.wait() [0x40ed8000..0x40ed9fc0] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x5bec5790> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(Unknown Source) - locked <0x5bec5790> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:84) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:78) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireReadLock(DefaultISMLocking.java:44) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireReadLock(SharedItemStateManager.java:1405) at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:253) at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:93) at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:158) - locked <0xb30f9538> (a org.apache.jackrabbit.core.state.XAItemStateManager) at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:253) at org.apache.jackrabbit.core.version.XAVersionManager.<init>(XAVersionManager.java:107) at org.apache.jackrabbit.core.XASessionImpl.createVersionManager(XASessionImpl.java:168) at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:281) at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:249) at org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java:98) at org.apache.jackrabbit.core.RepositoryImpl.createSessionInstance(RepositoryImpl.java:1497) at org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984) at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1399) "http-8080-38" daemon prio=10 tid=0x0842bc00 nid=0x6dd6 in Object.wait() [0x407e3000..0x407e4140] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x62e90210> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(Unknown Source) - locked <0x62e90210> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:84) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:78) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireReadLock(DefaultISMLocking.java:44) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireReadLock(SharedItemStateManager.java:1405) at org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedItemStateManager.java:286) at org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemStateManager.java:295) at org.apache.jackrabbit.core.CachingHierarchyManager.stateDiscarded(CachingHierarchyManager.java:350) at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyStateDiscarded(StateChangeDispatcher.java:107) at org.apache.jackrabbit.core.state.LocalItemStateManager.dispose(LocalItemStateManager.java:353) at org.apache.jackrabbit.core.state.SessionItemStateManager.dispose(SessionItemStateManager.java:323) at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1148) - locked <0x6fa5b8d0> (a org.apache.jackrabbit.core.XASessionImpl) at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403) was (Author: tomekdab): I forgot to add that there few more threads waiting for readLock (session login & logout operations). Here are the related thread dumps: "http-8080-40" daemon prio=10 tid=0x0892e400 nid=0x6ddb in Object.wait() [0x40ed8000..0x40ed9fc0] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x5bec5790> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(Unknown Source) - locked <0x5bec5790> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:84) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:78) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireReadLock(DefaultISMLocking.java:44) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireReadLock(SharedItemStateManager.java:1405) at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:253) at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:93) at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:158) - locked <0xb30f9538> (a org.apache.jackrabbit.core.state.XAItemStateManager) at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:253) at org.apache.jackrabbit.core.version.XAVersionManager.<init>(XAVersionManager.java:107) at org.apache.jackrabbit.core.XASessionImpl.createVersionManager(XASessionImpl.java:168) at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:281) at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:249) at org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java:98) at org.apache.jackrabbit.core.RepositoryImpl.createSessionInstance(RepositoryImpl.java:1497) at org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984) at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1399) "http-8080-38" daemon prio=10 tid=0x0842bc00 nid=0x6dd6 in Object.wait() [0x407e3000..0x407e4140] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x62e90210> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(Unknown Source) - locked <0x62e90210> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:84) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(DefaultISMLocking.java:78) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireReadLock(DefaultISMLocking.java:44) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireReadLock(SharedItemStateManager.java:1405) at org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedItemStateManager.java:286) at org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemStateManager.java:295) at org.apache.jackrabbit.core.CachingHierarchyManager.stateDiscarded(CachingHierarchyManager.java:350) at org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyStateDiscarded(StateChangeDispatcher.java:107) at org.apache.jackrabbit.core.state.LocalItemStateManager.dispose(LocalItemStateManager.java:353) at org.apache.jackrabbit.core.state.SessionItemStateManager.dispose(SessionItemStateManager.java:323) at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1148) - locked <0x6fa5b8d0> (a org.apache.jackrabbit.core.XASessionImpl) at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403) > Deadlock on concurrent read & transactional write operations > ------------------------------------------------------------- > > Key: JCR-1979 > URL: https://issues.apache.org/jira/browse/JCR-1979 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: 1.5.0 > Reporter: Przemo Pakulski > Assignee: Jukka Zitting > Fix For: 1.5.3 > > > Isuue has been introduced by resolving JCR-1755 (Transaction-safe > versioning). This fixed changed sequence of commits, but at the same time > order of acquiring locks has been disturbed. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.