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

Details

    • Bug
    • Resolution: Done
    • 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

    Description

      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
      

      Attachments

        Issue Links

          Activity

            People

              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

              Dates

                Created:
                Updated:
                Resolved: