-
Bug
-
Resolution: Done
-
Blocker
-
JBossAS-4.2.0.GA
-
None
If a transaction timeout occurs, the UserTransaction object does not get cleaned up from the thread, even after the request ends and the thread returns to the pool. Future requests will not be able to begin() a transaction, since the STATUS_ROLLEDBACK UserTransaction throws this exception:
Caused by: javax.transaction.NotSupportedException
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:79)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:77)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:124)
at org.jboss.seam.transaction.UTTransaction.begin(UTTransaction.java:29)
This means that any transaction timeout that occurs will leave the application server in a permanently broken state and require a server restart. Hence 4.2.0.GA is currently unusable in production!
This needs to be fixed in an immediate patch release.
- blocks
-
JBPAPP-217 JBAS-4481: Transaction timeouts leave garbage Status.ROLLEDBACK UserTransaction object bound to the thread
- Closed
- is blocked by
-
JBTM-227 Thread-to-transaction association not changing for application threads on rollback for timed out transactions
- Closed
- is related to
-
JBAS-3633 Tidyup logging when transaction is no longer active
- Closed