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

Prevent JTS bottom-up recovery from rolling back prepared inflowed JCA transactions

    XMLWordPrintable

Details

    • Bug
    • Status: Verified (View Workflow)
    • Blocker
    • Resolution: Done
    • 7.1.0.DR4
    • 7.1.0.DR6
    • Transactions
    • None
    • DR6
    • Hide
      mvn clean verify -am -pl jbossts -DfailIfNoTests=false -fn -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS
      
      Show
      mvn clean verify -am -pl jbossts -DfailIfNoTests= false -fn -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS

    Description

      There exists a defect that if a recovering JVM does the following steps:

      doRecoveryScan()
      waitForOrphanInterval()
      doRecoveryScan()
      

      Before XATerminator::recover is called in the root coordinator then bottom-up recovery will be told there is NoTransaction which is infers as a rollback.

      I saw two options, one was to have TransactionCacheItem try to peek in the objectstore for ServerTransaction/JCA classes. The alternative is to add a new recovery module that can load the ServerTransaction/JCA classes periodically so the transaction won't be lost.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: