]
Ivan Straka updated WFLY-10053:
-------------------------------
Steps to Reproduce:
# download and unzip wildfly 12
# git clone clone
git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/tests-transactions-propagation.git
# mvn test -Dts.eap1.version=7.0.9 -Dts.eap2.dist.path=<path to wildfly 12 folder>
-Dts.eap2.version=7.2.0 -Dts.tx.impl=JTA -Dts.log.arjuna.all
-Dtest=FirstCallSecondTests#jvmCrashEntryCommitSecondServer -DfailIfNoTests=false
was:
# git clone clone
git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/tests-transactions-propagation.git
# mvn test -Dts.eap1.version=7.0.9 -Dts.eap2.dist.path=<path to wildfly 12 folder>
-Dts.eap2.version=7.2.0 -Dts.tx.impl=JTA -Dts.log.arjuna.all
-Dtest=FirstCallSecondTests#jvmCrashEntryCommitSecondServer -DfailIfNoTests=false
TM is not forward compatible
-----------------------------
Key: WFLY-10053
URL:
https://issues.jboss.org/browse/WFLY-10053
Project: WildFly
Issue Type: Bug
Components: Transactions
Affects Versions: 12.0.0.Final
Reporter: Ivan Straka
Assignee: Tom Jenkinson
Attachments: EAP7.0.9.log, WF12.log
TM is unable to recover transaction after one of the nodes crash during commit phase of a
resource.
Scenario:
# EAP 7.0.9 enlists dummy XA resource, update db value (XADatasource) and call Wildfly
12
# Wildfly 12 enlists dummy XA resource, update other db value
# At entry of commit phase of dummy XA resource on Wildfly12 byteman crash the server
# Wildfly 12 is started
# Recovery process should recover the transaction
Following exception is seen in EAP 7.0.9 log
{code:java}
2018-03-20 12:42:35,171 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016036:
commit on < formatId=131077, gtrid_length=32, bqual_length=36,
tx_uid=0:ffff7f000001:643452d5:5ab0f37d:f, node_name=eap1,
branch_uid=0:ffff7f000001:643452d5:5ab0f37d:1e, subordinatenodename=null, eis_name=unknown
eis name > (RecoveryOnlySerializedEJBXAResource{ejbReceiverNodeName='eap2'})
failed with exception $XAException.XA_RETRY: javax.transaction.xa.XAException
at
org.jboss.ejb.client.RecoveryOnlySerializedEJBXAResource.commit(RecoveryOnlySerializedEJBXAResource.java:56)
at
com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelCommit(XAResourceRecord.java:477)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2869)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2785)
at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1853)
at
com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.replayPhase2(RecoverAtomicAction.java:71)
at
com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:152)
at
com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:253)
at
com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:811)
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
{code}
The issue is valid for
* 6.4.x -> WF12
* 7.0.X -> WF12
The issue is *not* valid for
* WF12 -> 6.4.x
* WF12-> 7.0.x
* 7.1.0 -> WF 12
If you have any question (about testsuite, scenario,...) feel free to ask.