Atomikos Forum

Transaction has not been started. (Maintenance)

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
Manuel J Guisado Send private email
Tuesday, February 01, 2011
 
 
Hi,

Not sure, but it could be that ActiveMQ has some peculiarities specific to MQSeries too. We've produced a 3.5.16 maintenance release today that should fix this - but for now it is only available to support subscribers.

Best
Guy Pardon Send private email
Tuesday, February 01, 2011
 
 
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.
Manuel J Guisado Send private email
Wednesday, February 02, 2011
 
 
Hi,

If you try with the latest 3.7.0Mx release on our website then the sources _will_ correspond to the binaries.

Thanks
Guy Pardon Send private email
Thursday, February 03, 2011
 
 
We'll do it.

Thanks you Guy.
Manuel J Guisado Send private email
Thursday, February 03, 2011
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics