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

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.1.0.DR6
    • 7.1.0.DR4
    • 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

      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.

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

              Created:
              Updated:
              Resolved: