]
Tom Jenkinson moved JBTM-1232 to AS7-6030:
------------------------------------------
Project: Application Server 7 (was: JBoss Transaction Manager)
Key: AS7-6030 (was: JBTM-1232)
Affects Version/s: (was: 4.16.4)
Component/s: EJB
Remoting
(was: Testing)
(was: Recovery)
Security: (was: Public)
Fix Version/s: (was: 5.0.0.M2)
(was: 4.17.3)
Recovery not fully triggered when distributed transaction falls down
at commit phase of 2PC
-------------------------------------------------------------------------------------------
Key: AS7-6030
URL:
https://issues.jboss.org/browse/AS7-6030
Project: Application Server 7
Issue Type: Bug
Components: EJB, Remoting
Reporter: Ivo Studensky
Assignee: Tom Jenkinson
Attachments: logs_commitHaltRevClient.tgz
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:
{noformat}
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 >
{noformat}
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>
or
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: