Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-11528

Call of JCA RAR XATerminator.recover does not propagate to correct implementation of Narayana terminator

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.1.0.ER2
    • 7.1.0.ER1
    • Transactions
    • None
    • Hide

      Crash recovery testsuite testcase could be used

      export JBOSS_HOME=...
      mvn clean verify -am -pl jbossts -DfailIfNoTests=false -fn -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS -Deap -Dversion.eap=7.1.0.Beta1-redhat-4
      
      Show
      Crash recovery testsuite testcase could be used export JBOSS_HOME=... mvn clean verify -am -pl jbossts -DfailIfNoTests= false -fn -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS -Deap -Dversion.eap=7.1.0.Beta1-redhat-4

      When RAR calls XATerminator.recover(int) the call chain is not directed to Narayana implementation of XATerminator but it's passed to WFTC where ExtendedJBossXATerminator method doRecover is called. But the doRecover does not provide the expected recovery call - e.g. it does not accept flags (XAResource.TMSTARTRSCAN, XAResource.TMENDRSCAN) to drive the whole recovery process in case.

      The biggest functionality trouble is for JTS where XATerminatorImple does not implement intentionally the doRecover function (https://github.com/jbosstm/narayana/blob/5.5.24.Final/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/XATerminatorImple.java#L511). Thus RAR using call XATerminator.recover when JTS is under use does nothing.

              ochaloup@redhat.com Ondrej Chaloupka (Inactive)
              ochaloup@redhat.com Ondrej Chaloupka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: