[jboss-user] [JBoss Cache Users] - Cache does not release locked nodes on transaction rollback

feutche do-not-reply at jboss.com
Thu Sep 24 11:30:11 EDT 2009

Hello, can you advise please on another issue I've got with JBoss-Cache (3.2) used with Atomicos tx server. 

When transaction server calls rollback on jta timeout, locks aren't released, probably because invocation context is not set on atomicos thread
Here's the scenario:

1. transaction started (by Spring transaction proxy)
2. processing is done, cache updated
3. precommit called - cacheloader writes updates to a database, it takes some time
4. during precommit phase rollback called by atomicos on timeout
5. locks are not released during rollback, because:
    rollback is called from atomicos thread
    lockManager.unlock(fqn, owner) is called with right owner (global transaction to be rolled back) but owner is not used in MVCCLockManager
    invocationContextContainer is empty, so OwnableReentrantLock tries current thread as the owner, causing IllegalMonitorException
6. UnexpectedRollbackException is thrown on commit attempt, no other command issued to rollback so no locks released


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4256907#4256907

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4256907

More information about the jboss-user mailing list