-
Bug
-
Resolution: Done
-
Major
-
EAP 5.0.0
-
None
-
-
Documented as Resolved Issue
When using Arjuna, QueuedPessimisticEJBLock does not always properly detect that a waiting tx has timed out. The problem is that QueuedPessimisticEJBLock was written for the old TM, which did not rollback transactions on timeout, but only marked them for rollback. Now that Arjuna is in play, it has to check for rolled back transactions too.
The isTxExpired() method should be changed to something like this:
protected boolean isTxExpired(Transaction miTx) throws Exception {
if (miTx != null
&& (miTx.getStatus() == Status.STATUS_MARKED_ROLLBACK || miTx.getStatus() == Status.STATUS_ROLLEDBACK))
return false;
}
- incorporates
-
JBAS-6348 Problem with QueuedPessimisticEJBLock and Arjuna
- Closed
- is cloned by
-
JBPAPP-5607 Problem with QueuedPessimisticEJBLock and Arjuna
- Resolved