[jbossts-issues] [JBoss JIRA] Commented: (JBTM-516) Transaction Reaper reaps atomic JTS transactions that have already started 2PC
Andrew Dinn (JIRA)
jira-events at lists.jboss.org
Thu Mar 26 13:05:22 EDT 2009
[ https://jira.jboss.org/jira/browse/JBTM-516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12459255#action_12459255 ]
Andrew Dinn commented on JBTM-516:
----------------------------------
Ok, my comments above missed the obvious which is that the problem lies in the logic. If the transaction is running and fails to cancel then the worker should call prevent commit. However, it currently also calls preventCommit in the case where the transaction is not running and this is inappropriate.
> 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
More information about the jbossts-issues
mailing list