Atomikos Forum |
|
Hello,
we are evaluating Atomikos (3.6.6) and we have developed some JMS listeners based on com.atomikos.jms.extra.MessageDrivenContainer. We are using ActiveMQ to do the test. All the listeners work fine but when there are no messages in the queue begin to appear periodically in the logs a WARN message. We have developed the listeners based on Spring and the WARN messages also appear. Finally we have discovered that the frequency depends on the maintenanceInterval in the com.atomikos.jms.AtomikosConnectionFactoryBean. So we think that these warning are been generating by the maintenance task. It's this correct?. Is there any way to eliminated them? Thank you. [WARN] 01 feb 17:00:57.359 PM Atomikos:21 [atomikos] XA resource 'JMS_BROKER': rollback for XID '31302E31302E34302E33332E746D30303031383030303031:31302E31302E34302E33332E746D3138' raised 0: unknown javax.transaction.xa.XAException: Transaction 'XID:1096044365:31302e31302e34302e33332e746d30303031383030303031:31302e31302e34302e33332e746d3138' has not been started. at org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:729) at org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) at com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:905) at com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:90) at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:86) at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:62) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: javax.transaction.xa.XAException: Transaction 'XID:1096044365:31302e31302e34302e33332e746d30303031383030303031:31302e31302e34302e33332e746d3138' h as not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290) at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:177) at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:131) at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:440) at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202) ... 1 more
Hi,
in order to get a more detailed stackTrace we have set to false the com.atomikos.icatch.threaded_2pc property. [WARN] 02 feb 11:59:06.977 AM Atomikos:3 [atomikos] XA resource 'JMS_BROKER': rollback for XID '31302E31302E34302E33332E746D30303030313030303031:31302E31302E34302E33332E746D31' raised 0: unknown javax.transaction.xa.XAException: Transaction 'XID:1096044365:31302e31302e34302e33332e746d30303030313030303031:31302e31302e34302e33332e746d31' has not been started. at org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:729) at org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) at com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:905) at com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:90) at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:86) at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:62) at com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:41) at com.atomikos.icatch.imp.HeurHazardStateHandler.onTimeout(HeurHazardStateHandler.java:143) at com.atomikos.icatch.imp.CoordinatorImp.alarm(CoordinatorImp.java:1070) at com.atomikos.timing.PooledAlarmTimer.notifyListeners(PooledAlarmTimer.java:88) at com.atomikos.timing.PooledAlarmTimer.run(PooledAlarmTimer.java:75) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: javax.transaction.xa.XAException: Transaction 'XID:1096044365:31302e31302e34302e33332e746d30303030313030303031:31302e31302e34302e33332e746d31' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290) at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:177) at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:131) at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:440) at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202) ... 1 more As you can see in the new stackTrace the rollback is sended by the HeurHazardStateHandler.onTimeout. We have tried to debug the aplication but the source code doesn't mach with the binaries. For example, the line 143 on the com.atomikos.icatch.imp.HeurHazardStateHandler should be the onTimeout method but its the only line of the getState method. We are using maven to get Atomikos from your repository. <dependency> <groupId>com.atomikos</groupId> <artifactId>transactions-essentials-all</artifactId> <version>3.6.6</version> <type>pom</type> <dependency> This is the the my local repository. -rw-r--r-- 1 manuel.guisado manuel.guisado 235 2011-01-27 13:26 m2e-lastUpdated.properties -rw-r--r-- 1 manuel.guisado manuel.guisado 156724 2011-01-27 12:28 transactions-3.6.6.jar -rw-r--r-- 1 manuel.guisado manuel.guisado 64 2011-01-27 12:28 transactions-3.6.6.jar.sha1 -rw-r--r-- 1 manuel.guisado manuel.guisado 728 2011-01-27 12:28 transactions-3.6.6.pom -rw-r--r-- 1 manuel.guisado manuel.guisado 64 2011-01-27 12:28 transactions-3.6.6.pom.sha1 -rw-r--r-- 1 manuel.guisado manuel.guisado 208570 2011-01-27 13:21 transactions-3.6.6-sources.jar -rw-r--r-- 1 manuel.guisado manuel.guisado 72 2011-01-27 13:21 transactions-3.6.6-sources.jar.sha1 Best regards and thank you. |