[ https://issues.apache.org/jira/browse/JCR-3438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13473205#comment-13473205 ] Claus Köll commented on JCR-3438: --------------------------------- Ok i see but i think your testcase don't reflect the real world. What do you mean with UserTransaction ? > Lock tokens acquired inside a transaction do not get released when session logs out > ----------------------------------------------------------------------------------- > > Key: JCR-3438 > URL: https://issues.apache.org/jira/browse/JCR-3438 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: 2.4.2 > Reporter: Nick Tuckett > Attachments: LockTokenTransactionTest.java > > > When outside a transaction, LockManager.addLockToken() calls org.apache.jackrabbit.core.lock.LockManagerImpl.addLockToken(). This sets the lock holder, and if the LockInfo object is actually an InternalLockInfo object, it adds that object as a session listener. This means that the LockInfo object is notified when the session is logging out, whereupon it causes the session to release the lock token. > When adding a lock token inside a transaction, the underlying implementation calls org.apache.jackrabbit.core.lock.XAEnvironment.addLockToken(). This sets the lock holder on the LockInfo object but does not add it as a session listener. Consequently the lock token remains owned by the session, even when the session finishes logging out. > Subsequent attempts to get the lock token in other sessions using the same credentials then fail. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira