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

JCA inflow transaction committed by recovery is not removed from tx log when JTS is used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.1.0.ER2
    • 7.1.0.DR18
    • Transactions
    • None
    • Hide

      mvn clean verify -Djboss.dist=$JBOSS_HOME -am -pl jbossts -DfailIfNoTests=false -Dsurefire.forked.process.timeout=0 -Dmaven.repo.local=path_to_eap-local-maven-repository -Deap -Dversion.eap=7.1.0.Beta1-redhat-3 -Dsurefire.rerunFailingTestsCount=0 -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS

      Show
      mvn clean verify -Djboss.dist=$JBOSS_HOME -am -pl jbossts -DfailIfNoTests=false -Dsurefire.forked.process.timeout=0 -Dmaven.repo.local=path_to_eap-local-maven-repository -Deap -Dversion.eap=7.1.0.Beta1-redhat-3 -Dsurefire.rerunFailingTestsCount=0 -Djbossts.noJTA -Dtest=JcaInflowTransactionTestCase#jvmCrashAfterPrepareJTS

      We have test which checks whether EIS is capable to finish transaction after JVM crash.
      The scenario is following:

      • 2 test XA resources are enlisted
      • EIS RAR XATerminator calls prepare and commit
      • JVM crash occurs at the start of the first XAResource.commit call
      • app server is restarted
      • doRecoveryScan()/waitForOrphanInterval/doRecoveryScan()
      • both (mock) XAResources are not rolled-back
      • EIS XATerminator.commit is called
      • doRecoveryScan()/waitForOrphanInterval/doRecoveryScan()
      • both (mock) XAResources are committed

      but the committed tx is not removed from log:

      jvmCrashAfterPrepareJTS(org.jboss.as.test.jbossts.crashrec.jca.test.JcaInflowTransactionTestCase)  Time elapsed: 125.532 sec  <<< FAILURE!
      java.lang.AssertionError: After commiting txn there should be no one in the txn log expected:<0> but was:<1>
      	at org.junit.Assert.fail(Assert.java:88)
      	at org.junit.Assert.failNotEquals(Assert.java:834)
      	at org.junit.Assert.assertEquals(Assert.java:645)
      	at org.jboss.as.test.jbossts.crashrec.jca.test.JcaInflowTransactionTestCase.jvmCrashAfterPrepareJTS(JcaInflowTransactionTestCase.java:763)
      

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

                Created:
                Updated:
                Resolved: