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

CMR recovery wrongly handles commit and rollback

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.5.33.Final, 5.9.0.Final
    • 5.8.1.Final
    • JTA
    • None
    • Hide
      git clone http://git.app.eng.bos.redhat.com/git/jbossqe-eap-tests-transactions.git
      export JBOSS_HOME=<<path to WFLY13>>
      
      # unignore tests of jbossts/src/test/java/org/jboss/as/test/jbossts/crashrec/test/JPACMRCrashRecoveryTestCase.java marked with JBEAP-6326
      
      DS_PROPS="-Dds0.db=oracle -Dds0.jdbc.driver.url=http://www.qa.jboss.com/jdbc-drivers-products/EAP/7.1.0/oracle12c/jdbc4/ojdbc8.jar -Dds0.jdbc.xa-class=oracle.jdbc.xa.client.OracleXADataSource -Dds0.jdbc.url=jdbc:oracle:thin:@dev151.mw.lab.eng.bos.redhat.com:1521:qaora12 -Dds0.db.name=qaora12 -Dds0.user=crashrec -Dds0.pass=crashrec -Dds0.jdbc.driver.jar=dsdriver-oracle.jar"
      mvn clean verify -am -pl jbossts -DfailIfNoTests=false -Dtest=JPACMRCrashRecoveryTestCase#commitHaltAfterCMR -Djbossts.noJTS -Dno.cleanup.at.teardown=true $DS_PROPS
      
      Show
      git clone http: //git.app.eng.bos.redhat.com/git/jbossqe-eap-tests-transactions.git export JBOSS_HOME=<<path to WFLY13>> # unignore tests of jbossts/src/test/java/org/jboss/as/test/jbossts/crashrec/test/JPACMRCrashRecoveryTestCase.java marked with JBEAP-6326 DS_PROPS= "-Dds0.db=oracle -Dds0.jdbc.driver.url=http: //www.qa.jboss.com/jdbc-drivers-products/EAP/7.1.0/oracle12c/jdbc4/ojdbc8.jar -Dds0.jdbc.xa-class=oracle.jdbc.xa.client.OracleXADataSource -Dds0.jdbc.url=jdbc:oracle:thin:@dev151.mw.lab.eng.bos.redhat.com:1521:qaora12 -Dds0.db.name=qaora12 -Dds0.user=crashrec -Dds0.pass=crashrec -Dds0.jdbc.driver.jar=dsdriver-oracle.jar" mvn clean verify -am -pl jbossts -DfailIfNoTests= false -Dtest=JPACMRCrashRecoveryTestCase#commitHaltAfterCMR -Djbossts.noJTS -Dno.cleanup.at.teardown= true $DS_PROPS

      The recovery of CMR works wrongly.

      For scenario I currently investigate there is issue the second resource beging committed and rolled-back too.

      1. cmr resource prepare (no real action on the local transction)
      2. xa resource prepare (prepared in real as XA)
      3. cmr resource commit (commiting the local transaction)
      4. JVM crash
      5. expecting the xa resource being committed, but it's committed and immediatelly rolled-back. fortunatelly it seems it does not causes data consistency issue.

      This is similar to what was seen in issue https://issues.jboss.org/browse/JBEAP-6326 but not the same. The seems could be connected with fix for https://issues.jboss.org/browse/JBTM-2734. More investigation is needed.

      This is regression against EAP 7.0.0. The same scenario works in 7.0.0 smoothly.

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

                Created:
                Updated:
                Resolved: