[JBoss JIRA] Created: (JBTM-516) Transaction Reaper reaps atomic JTS transactions that have already started 2PC
by Michael Musgrove (JIRA)
Transaction Reaper reaps atomic JTS transactions that have already started 2PC
------------------------------------------------------------------------------
Key: JBTM-516
URL: https://jira.jboss.org/jira/browse/JBTM-516
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JTS Implementation
Affects Versions: 4.6
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Fix For: 4.7
Start a JTS AtomicTransaction from a remote client with a timeout. During commit if a ResourceManager takes longer than the timeout period to respond then the TransactionReaper attempts a rollback even though 2PC has already started. The problem is in ArjunaTransactionImple::rollback_only (perhaps the determineStatus() check needs to compare against Status.StatusActive instead of StatusPrepared).
The TM prints out the following warning:
2009-03-26 13:09:31,181 [Thread-8] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout for TX -53ef7d76:dd94:49cb7e7f:3 in state RUN
2009-03-26 13:09:31,181 [Thread-9] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.coordinator.TransactionReaper_8] - TransactionReaper::doCancellations worker Thread[Thread-9,10,main] failed to cancel TX -53ef7d76:dd94:49cb7e7f:3 -- rescheduling for mark-as-rollback
2009-03-26 13:09:31,182 [Thread-9] WARN com.arjuna.ats.jts.logging.loggerI18N - [com.arjuna.ats.internal.jts.cwcommit] Failed to mark transaction as rollback only:
org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x4000 minor code: 3617 completed: No
at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.rollback_only(ArjunaTransactionImple.java:1159)
at com.arjuna.ats.internal.jts.ControlWrapper.rollback_only(ControlWrapper.java:334)
at com.arjuna.ats.internal.jts.ControlWrapper.preventCommit(ControlWrapper.java:172)
at com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:691)
at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:91)
2009-03-26 13:09:31,184 [Thread-9] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.coordinator.TransactionReaper_15] - TransactionReaper::doCancellations worker Thread[Thread-9,10,main] failed to mark TX -53ef7d76:dd94:49cb7e7f:3 as rollback only
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira