[jbossts-issues] [JBoss JIRA] (JBTM-1232) Recovery not fully triggered when distributed transaction falls down at commit phase of 2PC

Ivo Studensky (JIRA) jira-events at lists.jboss.org
Wed Aug 29 10:12:32 EDT 2012

Ivo Studensky created JBTM-1232:

             Summary: Recovery not fully triggered when distributed transaction falls down at commit phase of 2PC
                 Key: JBTM-1232
                 URL: https://issues.jboss.org/browse/JBTM-1232
             Project: JBoss Transaction Manager
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Recovery, Testing
    Affects Versions: 4.16.4
            Reporter: Ivo Studensky
            Assignee: Ivo Studensky

The recovery process is not fully triggered on a distributed transaction when the transaction falls down at commit phase of 2PC. In the new crash recovery tests over propagated transactions only one of two servers recovers from that crash, but the other keeps an unfinished tx in its tx log.

It corresponds to commitHaltRevClient and commitHaltRevServer test methods of org.jboss.as.test.jbossts.crashrec.txpropagation.TxPropagationCrashRecoveryTestCase, see JBQA-2604 for general description of the new tests. 

The test starts two servers, the client and the server (on filesystem called jbossts and jbossts2), creates a transaction on the client which then invokes the server and propagates the transaction to it. After crash, the mock XA resource is committed during periodic recovery on the client, but on the server an XA record still keeps in the tx log and no recovery happens there. The following message repeatedly appears in log of the client:
14:01:32,622 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016038: No XAResource to recover < formatId=131077,
gtrid_length=29, bqual_length=36, tx_uid=0:ffff7f000001:-50a7ae4c:503cb145:13, node_name=1,
branch_uid=0:ffff7f000001:-50a7ae4c:503cb145:1f, subordinatenodename=null, eis_name=unknown eis name >

The failure for commitHaltRevServer is similar.
The tests are written against EAP6.x branch, so for reproducing this it is needed a built server from the 7.1 branch of AS7.

Steps to reproduce.
1. git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-transactions.git
2. cd eap-tests-transactions
3. git checkout tx_propag_crashrec_tests
4a. mvn clean verify -Dtest=TxPropagationCrashRecoveryTestCase#commitHaltRevClient -Djboss.dist=<path to jboss-as-7.1.3.Final-SNAPSHOT>
4b. mvn clean verify -Dtest=TxPropagationCrashRecoveryTestCase#commitHaltRevServer -Djboss.dist=<path to jboss-as-7.1.3.Final-SNAPSHOT>

The logs of commitHaltRevClient run are attached to this jira.

Tom, could you take a look at this please?
Thanks a lot.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

More information about the jbossts-issues mailing list