Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-748

Calling rollback_only via OTS is throwing the wrong exception


    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.11.0
    • Fix Version/s: 4.15.0
    • Component/s: JTS
    • Labels:
    • Steps to Reproduce:

      This problem is intermittent and, when present, only occurs on BlackTie Windows CI test runs.

      This problem is intermittent and, when present, only occurs on BlackTie Windows CI test runs.


      Occasionally our BlackTie CI test run is failing when marking a transaction rollback only because it is getting the wrong exception back from the transaction manager

      16:11:10,296 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout for TX -53ee7cfb:10e2:4c0fa834:22ec in state RUN
      [exec] 2010-06-09 16:11:10,296 [0x0000123c] WARN (TxLogControl :153 ) - rollback_only: INVALID_TRANSACTION minor: 20001
      16:11:10,328 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TransactionReaper_7] - TransactionReaper::doCancellations worker Thread[Thread-18,5,jboss] successfully canceled TX -53ee7cfb:10e2:4c0fa834:22ec

      The second log message comes from the C client (the other two from the reaper). The CORBA System exception major/minor code represents INVALID_TRANSACTION/INACTIVE_TRANSACTION which according to the OTS spec is incorrect.

      A look at the code shows a race condition between a BlackTie C client marking a transaction abort only and the Transaction Reaper cancelling it (due to a timeout being reached). The reaper eventually winds up in ControlImple.destroy() where the CORBA object representing the transaction is destroyed. There is a window where the C client request reaches JacORB just before the reaper has had a chance to destroy the CORBA object resulting in the wrong exception being returned.

        Gliffy Diagrams


            Issue Links



                • Assignee:
                  mmusgrov Michael Musgrove
                  mmusgrov Michael Musgrove
                • Votes:
                  1 Vote for this issue
                  2 Start watching this issue


                  • Created: