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

Incorrect return code on second rollback call from TM running with JTS for crash recovery

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • JBoss A-MQ 6.2
    • JBoss A-MQ 6.1
    • rar-jee
    • None

    Description

      Copied from https://bugzilla.redhat.com/show_bug.cgi?id=998449:It seems that ActiveMQ returns incorrect return code after second call of the rollback of transaction manager doing crash recovery. This seems to be a similar issue as we found for PostgreSQL (https://bugzilla.redhat.com/show_bug.cgi?id=988724).There is exception thrown on the second rollback() call on XAResource[1].The JTS specification defines that the rollback() can be called twice on the same XAResource. The XAException seems to carry value 0.
      As I referred we found out the similar issue for driver postgresql and the return value was changed to be XAException.XAER_NOTA in such case.More details on test setup could be found here:
      https://docspace.corp.redhat.com/docs/DOC-146452#crash-recoveryIn case technical details could be discussed with Tom Jenkinson from Narayana team.[1]
      12:15:57,770 WARN[com.arjuna.ats.jtax](RequestProcessor-10) ARJUNA024023: XAResourceRecord.rollback caused an XA error: ARJUNA016099: Unknown error code:0 from resource XAResourceWrapperImpl@2874fb7a[xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@38665ee7 pad=false overrideRmValue=null productName=ActiveMQ productVersion=5.8.0.redhat-60024 jndiName=java:/JmsXA]in transaction < 131072, 29, 36, 0000000000-1-1127001-11735-31-518217-16460005149, 292929292929292929292828156292930-8864-2-22111461375292929807829292929292929 >: javax.transaction.xa.XAException: Transaction 'XID:[131072,globalId=0000000000ffffffffffffffff7f001ffffff8b23ffffffe1ffffffcd5211fffffff02e0003331,branchId=0000000000ffffffffffffffff7f001ffffff8b23ffffffe1ffffffcd5211fffffff02e0003800000000]' has not been started.
      at org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:773)
      at org.apache.activemq.TransactionContext.rollback(TransactionContext.java:526)
      at org.apache.activemq.ra.LocalAndXATransaction.rollback(LocalAndXATransaction.java:128)
      at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.rollback(XAResourceWrapperImpl.java:186)
      at com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord.rollback(XAResourceRecord.java:369)[jbossjts-jacorb-4.17.7.Final-redhat-3.jar:4.17.7.Final-redhat-3]
      at com.arjuna.ArjunaOTS.OTSAbstractRecordPOA._invoke(OTSAbstractRecordPOA.java:213)[jbossjts-jacorb-4.17.7.Final-redhat-3.jar:4.17.7.Final-redhat-3]
      at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:306)[jacorb-2.3.2-redhat-4.jar:2.3.2-redhat-4]
      at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:626)[jacorb-2.3.2-redhat-4.jar:2.3.2-redhat-4]
      at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:769)[jacorb-2.3.2-redhat-4.jar:2.3.2-redhat-4]
      Caused by: javax.transaction.xa.XAException: Transaction 'XID:[131072,globalId=0000000000ffffffffffffffff7f001ffffff8b23ffffffe1ffffffcd5211fffffff02e0003331,branchId=0000000000ffffffffffffffff7f001ffffff8b23ffffffe1ffffffcd5211fffffff02e0003800000000]' has not been started.
      at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:380)
      at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:267)
      at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:125)
      at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:125)
      at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:131)
      at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:474)
      at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104)
      at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:329)
      at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184)
      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:288)
      at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
      at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
      at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
      at java.lang.Thread.run(Thread.java:724)[rt.jar:1.7.0_25]

      Attachments

        Issue Links

          Activity

            People

              gtully@redhat.com Gary Tully
              mnovak1@redhat.com Miroslav Novak
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: