[
http://jira.jboss.com/jira/browse/JBCACHE-785?page=all ]
Manik Surtani updated JBCACHE-785:
----------------------------------
Workaround Description:
set invocation context tx and gtx values to null when suspending the tx or setting
FAIL_SILENTLY.
E.g.,
cache.getInvocationContext().setTransaction(null);
cache.getInvocationContext().setGlobalTransaction(null);
Workaround: [Workaround Exists]
InvocationContext and suspended transactions
--------------------------------------------
Key: JBCACHE-785
URL:
http://jira.jboss.com/jira/browse/JBCACHE-785
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 1.4.0.SP1
Reporter: Owen Taylor
Assigned To: Manik Surtani
Priority: Critical
Fix For: 2.0.0, 1.4.0.SP2
Attachments: hibernate-suspend-workaround.patch, SuspendTxTest.java
The attached test case demonstrates that if you:
A) Make calls to the tree cache
B) suspend the current transaction
C) Make more calls to the tree cache
The locks created at step C) are sometimes attached to the suspended transaction; it
seems this is because the cached transactions in InvocationContext are only reliably
cleared when a transaction is committed.
It's possible that *always* passing true in the call to scrubInvocationCtx() at the
end of TxInterceptor.invoke() would work, but I'm not sure it is the correct thing to
do, or what the effect would be on performance. (Presumably there is some reason not to
just always look up the current transaction.)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira