When crash recovery is run against IBM MQ broker when the server is halted after prepare method being called on the IBM MQ XA resource then you can find these error messages [1] in the log. But it seems that these error messages do not have influence the crash recovery functionality. I think that the messages are shown in case that TM calls recovery and there are no xids to recover. I've found the error messages in case that I just start the server with resource adapter configured and I waited some time to recovery was launched. I think that that this is caused by some change in the transaction manager code base because these messages are not shown for version 4.17.3. For 4.17.4 and 5.0.0 could be caught. How to reproduce: 1) Checkout crash recovery tests git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-transactions.git 2) cd eap-tests-transactions/integration/jbossts 3) export JBOSS_HOME=.../jboss-eap-6.1.0.GA (when you run this for AS7.2 or EAP6.1.0.ER5 you can find yourself not getting the error messages) 4) Run the IBM MQ crash recovery test mvn clean verify -Djboss.dist=$JBOSS_HOME -Dtest=JMSIBMMQCrashRecoveryTestCase#prepareHalt -Dibmmq -Djbossts.noJTS 5) Check server log for errors vim integration/jbossts/target/jbossas-jbossts/standalone/log/server.log The test will download resource adapter and run the test against broker. For more details on app server configuration you can check the integration/jbossts/target/jbossas-jbossts/standalone/configuration/standalone-full.xml file after the test was run or take a look on document https://hurl.corp.redhat.com/56fd5bb under title "IBM WebSphere MQ transaction crash recovery testing for EAP6". [1] Error messages shown in the log after crash recovery is done INFO [org.jboss.as.test.jbossts.common.TestXAResourceRecovered] (Periodic Recovery) TestXAResourceRecovered.recover(i=8388608) INFO [org.jboss.as.test.jbossts.common.TestXAResourceRecoveryHelper] (Periodic Recovery) recover() INFO [org.jboss.as.test.jbossts.common.TestXAResourceRecoveryHelper] (Periodic Recovery) returning 0 Xids ERROR [stderr] (Periodic Recovery) javax.transaction.xa.XAException: The method 'xa_rollback' has failed with errorCode '-7'. ERROR [stderr] (Periodic Recovery) at com.ibm.mq.jmqi.JmqiXAResource.rollback(JmqiXAResource.java:795) ERROR [stderr] (Periodic Recovery) at com.ibm.mq.connector.xa.XARWrapper.rollback(XARWrapper.java:494) ERROR [stderr] (Periodic Recovery) at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.rollback(XAResourceWrapperImpl.java:174) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.handleOrphan(XARecoveryModule.java:741) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:647) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:419) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:194) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) ERROR [stderr] (Periodic Recovery) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException: The method 'xa_recover' has failed with errorCode '-7'. at com.ibm.mq.jmqi.JmqiXAResource.recover(JmqiXAResource.java:749) at com.ibm.mq.connector.xa.XARWrapper.recover(XARWrapper.java:461) at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:165) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:695) [jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2] at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:419) [jbossjts-jacorb-4.17.4.Final-redhat-2.jar:4.17.4.Final-redhat-2] at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:194) [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]
https://issues.jboss.org/browse/JBTM-1810
It seems that I put incorrect flags for this issue. Verified for EAP 6.1.1.ER6. This issue was fixed in 4.17.6. Tom, are you agree that I can set this jira to verified? I'm asking just because this is not in status ON_QA. Thanks
Hi Ondra, I tried to mark the bz as POST: "For all JBoss bugs, it is mandatory to set the target milestone field to a non-empty value before a bug can be moved past the ASSIGNED state. i.e. to POST, MODIFIED, ON_DEV, ON_QA, VERIFIED or RELEASE_PENDING. " Thanks, Tom
Hi Tom, I hope that you will agree - I changed the milestone to 6.1.1.GA. What is true as the bug is fixed from 6.1.1.ER4. Ondra
Thanks Ondra
Verified for EAP 6.1.1.ER6. Thanks