[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
Thanks
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