0 Replies Latest reply on Jan 29, 2015 1:27 AM by Sivakumar KN

    Problem while committing messages on IBM MQ. Receiving javax.transaction.HeuristicMixedException

    Sivakumar KN Newbie

      We are getting the below error when using Container Managed Transaction with Message Driven beans in Jboss EAP 6.1. Because of this, the messages are not committed and duplicated.

       

      Environment - Jboss EAP 6.1, Websphere MQ 7.5.0.3, wmq.jmsra.rar

       

      21:36:44,298 WARN  [com.arjuna.ats.jta] (default-threads - 21) ARJUNA016039: onePhaseCommit on < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff1eb23c2c:-7e3a743a:54c99c05:4c1, node_name=1, branch_uid=0:ffff1eb23c2c:-7e3a743a:54c99c05:4c2, subordinatenodename=null, eis_name=unknown eis name > (com.ibm.mq.connector.xa.XARWrapper@682c523e) failed with exception XAException.XAER_NOTA: javax.transaction.xa.XAException: The method 'xa_rollback' has failed with errorCode '-4'.

        at com.ibm.mq.jmqi.JmqiXAResource.rollback(JmqiXAResource.java:861)

        at com.ibm.mq.connector.xa.XARWrapper.rollback(XARWrapper.java:494)

        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelOnePhaseCommit(XAResourceRecord.java:684)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.onePhaseCommit(BasicAction.java:2263)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1475)

        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:98)

        at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)

        at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

        at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

        at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]

        at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source) [:1.7.0_67]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]

        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]

        at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]

        at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]

        at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]

        at com.sun.proxy.$Proxy56.afterDelivery(Unknown Source)

        at com.ibm.mq.connector.inbound.AbstractWorkImpl.run(AbstractWorkImpl.java:336)

        at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:218)

        at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)

        at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:806)

        at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)

        at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:847)

        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]

        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

       

      21:36:44,313 WARN  [com.arjuna.ats.arjuna] (default-threads - 21) ARJUNA012084: One-phase commit of action 0:ffff1eb23c2c:-7e3a743a:54c99c05:4c1 received heuristic decision: TwoPhaseOutcome.HEURISTIC_HAZARD

      21:36:44,352 INFO  [stdout] (default-threads - 21) MQJCA4018:MessageEndpoint afterDelivery() call failed with: 'javax.transaction.HeuristicMixedException'.

       

       

      21:36:59,086 WARN  [com.arjuna.ats.arjuna] (Periodic Recovery) ARJUNA012154: RecoverAtomicAction: transaction 0:ffff1eb23c2c:-7e3a743a:54c99c05:4c1 not activated, unable to replay phase 2 commit. Check state has not already been completed.

      21:36:59,112 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016043: Exception on attempting to restore XAResource: java.lang.ClassNotFoundException: com.ibm.mq.connector.xa.XARWrapper from [Module "org.jboss.jts:main" from local module loader @7a425f23 (finder: local module finder @1b74318a (roots: /mnt/vol01/jboss-eap-6.1/modules,/mnt/vol01/jboss-eap-6.1/modules/system/layers/base))]

        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.2.Final-redhat-1]

        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.2.Final-redhat-1]

        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.2.Final-redhat-1]

        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.2.Final-redhat-1]

        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.2.Final-redhat-1]

        at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_67]

        at java.lang.Class.forName(Class.java:270) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:625) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) [rt.jar:1.7.0_67]

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) [rt.jar:1.7.0_67]

        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.restore_state(XAResourceRecord.java:940) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.arjuna.coordinator.BasicAction.restore_state(BasicAction.java:1174) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.arjuna.coordinator.BasicAction.activate(BasicAction.java:484) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.arjuna.coordinator.BasicAction.activate(BasicAction.java:447) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.<init>(RecoverAtomicAction.java:50) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:149) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:251) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-jacorb-4.17.7.Final-redhat-4.jar:4.17.7.Final-redhat-4]