[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