[
https://issues.jboss.org/browse/WFLY-88?page=com.atlassian.jira.plugin.sy...
]
RH Bugzilla Integration commented on WFLY-88:
---------------------------------------------
Ondrej Chaloupka <ochaloup(a)redhat.com> made a comment on [bug
952746|https://bugzilla.redhat.com/show_bug.cgi?id=952746]
Yeap, I've applied the patch. There is added callDoNothing call.
You can check it in the git repo:
http://git.app.eng.bos.redhat.com/?p=jbossqe/eap-tests-transactions.git;a...
There is a warn message which seems to be related to the issue.
14:52:03,960 WARN [com.arjuna.ats.jta] (EJB default - 4) ARJUNA016038: No XAResource to
recover < formatId=131077, gtrid_length=29, bqual_length=36,
tx_uid=0:ffff7f000001:-72f4ed54:5190e173:11, node_name=1,
branch_uid=0:ffff7f000001:27821ad6:5190e17a:1a, subordinatenodename=2,
eis_name=java:/JmsXA >
And the "client" server is still showing the exception message.
14:50:43,137 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016036: commit on <
formatId=131077, gtrid_length=29, bqual_length=36,
tx_uid=0:ffff7f000001:-72f4ed54:5190e173:11, node_name=1,
branch_uid=0:ffff7f000001:-72f4ed54:5190e173:1e, subordinatenodename=null,
eis_name=unknown eis name >
(RecoveryOnlySerializedEJBXAResource{ejbReceiverNodeName='jbossts2'}) failed with
exception $XAException.XA_RETRY: javax.transaction.xa.XAException
at_org.jboss.ejb.client.RecoveryOnlySerializedEJBXAResource.commit(RecoveryOnlySerializedEJBXAResource.java:51)
at_com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelCommit(XAResourceRecord.java:451)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2732)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2648)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1813)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.replayPhase2(RecoverAtomicAction.java:71)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:152)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:251)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
at_com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)
[jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2]
But...
Now I tried to put the callDoNothing immediately after the server reboot (line 481) the
recovery started to work. But there is sti.l the warning message on the "client"
server.
Just I wonder whether this is how it should work. Without immediate remote call the
recovery fails...?
Recovery not fully triggered when distributed transaction falls down
at prepare phase of 2PC
--------------------------------------------------------------------------------------------
Key: WFLY-88
URL:
https://issues.jboss.org/browse/WFLY-88
Project: WildFly
Issue Type: Bug
Components: EJB, Remoting
Reporter: Ivo Studensky
Assignee: jaikiran pai
Fix For: 8.0.0.Alpha1
Attachments: logs_prepareHaltClient.tgz
It looks like recovery process is not fully triggered on a distributed transaction when
the transaction falls down at prepare phase of 2PC. In the new crash recovery tests over
propagated transactions only one of two servers recovers from the crash, but the other
keeps an unfinished tx in its tx log.
It corresponds to prepareHaltClient and prepareHaltServer test methods of
org.jboss.as.test.jbossts.crashrec.txpropagation.TxPropagationCrashRecoveryTestCase, see
JBQA-2604 for general description of the new tests. The prepareHaltClient test crashes the
server which initiated the transaction, while as the prepareHaltServer test crashes the
second server.
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 -b as7
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#prepareHaltClient
-Djboss.dist=<path to jboss-as-7.1.3.Final-SNAPSHOT>
or
4b. mvn clean verify -Dtest=TxPropagationCrashRecoveryTestCase#prepareHaltServer
-Djboss.dist=<path to jboss-as-7.1.3.Final-SNAPSHOT>
The logs of prepareHaltClient run attached to this jira.
--
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