Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-758

"javax.transaction.xa.XAException: Transaction 'XID:[XXX]' has not been started" reported continuously when connection to broker restored.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JBoss A-MQ 6.2
    • JBoss A-MQ 6.1
    • broker
    • None
    • Hide
      • deploy a camel route using XA to JBoss Fuse 6.1 ( i used fabric in initial tests but non fabric) should also work.
      • ensure route is consuming message in XA transaction - verify logging.
      • stop camel bundle. - osgi:stop
      • exception above reported in karaf.log
      Show
      deploy a camel route using XA to JBoss Fuse 6.1 ( i used fabric in initial tests but non fabric) should also work. ensure route is consuming message in XA transaction - verify logging. stop camel bundle. - osgi:stop exception above reported in karaf.log

      camel route that use XA transactions and consumes (start of route) from an ActiveMQ destination. When the bundle containing the camel route is stopped;

      • on the Aries transaction manager: the connection to the broker appears to be closed before transaction END completes.
      • When the connection is restored the broker responds with a "javax.transaction.xa.XAException: Transaction 'XID:...' has not been started." .
      • the exception is coming back with error code "XAException.XAER_RMERR" the org.apache.geronimo.transaction.manager.RollbackTask.run() and logged (see [1])
      • transaction manager keeps trying to RollBack the transaction indefinitely each time receiving the "javax.transaction.xa.XAException: Transaction 'XID:[XXX]' has not been started"

      [1] transaction from karaf log (Aries Transaction Manager)

      2014-08-07 10:24:33,549 | ERROR | r[Input.Flights] | RollbackTask                     | transaction.manager.RollbackTask   71 | 453 - org.apache.aries.transaction.manager - 1.0.1.redhat-610379 | Unexpected exception committing org.apache.activemq.jms.pool.GenericResourceManager$ConnectionAndWrapperNamedXAResource@3623490a; continuing to commit other RMs
      javax.transaction.xa.XAException: Transaction 'XID:[1197822575,globalId=15bffffff8effffffaf471006f72672e6170616368652e61726965732e7472616e73616374696f6e0000000000000000000000000000,branchId=1000ffffffd25affffff8effffffaf471006170616368652e61726965732e7472616e73616374696f6e0000000000000000000000000000]' has not been started.
      	at org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:794)[441:org.apache.activemq.activemq-osgi:5.9.0.redhat-610379]
      	at org.apache.activemq.TransactionContext.rollback(TransactionContext.java:532)[441:org.apache.activemq.activemq-osgi:5.9.0.redhat-610379]
      	at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.rollback(WrapperNamedXAResource.java:100)[453:org.apache.aries.transaction.manager:1.0.1.redhat-610379]
      	at org.apache.geronimo.transaction.manager.RollbackTask.run(RollbackTask.java:67)[453:org.apache.aries.transaction.manager:1.0.1.redhat-610379]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:594)[453:org.apache.aries.transaction.manager:1.0.1.redhat-610379]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)[453:org.apache.aries.transaction.manager:1.0.1.redhat-610379]
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)[453:org.apache.aries.transaction.manager:1.0.1.redhat-610379]
      	at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1011)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)
      	at org.apache.aries.transaction.internal.AriesPlatformTransactionManager.commit(AriesPlatformTransactionManager.java:76)
      	at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_10]
      	at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_10]
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)[488:org.springframework.osgi.core:1.2.1]
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)[488:org.springframework.osgi.core:1.2.1]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)[488:org.springframework.osgi.core:1.2.1]
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)[488:org.springframework.osgi.core:1.2.1]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)[488:org.springframework.osgi.core:1.2.1]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)[470:org.apache.servicemix.bundles.spring-aop:3.2.8.RELEASE_1]
      	at $Proxy63.commit(Unknown Source)[:]
      	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)[477:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
      	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1101)[477:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
      	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1093)[477:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
      	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:990)[477:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_10]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_10]
      	at java.lang.Thread.run(Thread.java:722)[:1.7.0_10]
      Caused by: javax.transaction.xa.XAException: Transaction 'XID:[1197822575,globalId=15bffffff8effffffaf471006f72672e6170616368652e61726965732e7472616e73616374696f6e0000000000000000000000000000,branchId=1000ffffffd25affffff8effffffaf471006170616368652e61726965732e7472616e73616374696f6e0000000000000000000000000000]' has not been started.
      	at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:368)
      	at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:257)
      	at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:142)
      	at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:142)
      	at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:142)
      	at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:147)
      	at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:471)
      	at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104)
      	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
      	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:148)
      	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
      	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
      	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
      	at org.apache.activemq.transport.TransportLogger.onCommand(TransportLogger.java:114)
      	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
      	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)[441:org.apache.activemq.activemq-osgi:5.9.0.redhat-610379]
      	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)[441:org.apache.activemq.activemq-osgi:5.9.0.redhat-610379]
      	... 1 more
      

              gtully@redhat.com Gary Tully
              rhn-support-pfox Patrick Fox (Inactive)
              Martin Swiech Martin Swiech (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: