-
Bug
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.1
-
None
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
- relates to
-
ENTMQ-717 Incorrect return code on second rollback call from TM running with JTS for crash recovery
- Closed