You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2016/01/06 13:58:39 UTC

[jira] [Resolved] (AMQ-6089) org.apache.activemq.TransactionContext.recover(int flag) should return null or an empty array when it receives the flag XAResource.TMNOFLAGS as it has return all transactions when called with XAResource.TMSTARTRSCAN. or XAResource. TMENDRSCAN.

     [ https://issues.apache.org/jira/browse/AMQ-6089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-6089.
-----------------------------
       Resolution: Fixed
    Fix Version/s: 5.14.0

thanks for the test. I merged in the looping code from your test into an existing test that exercised the recovery calls with pending transactions to verify a loop can now exit.
The fix is a little different from the patch b/c it bypases the broker roundtrip.

> org.apache.activemq.TransactionContext.recover(int flag) should return null or an empty array when it receives the flag  XAResource.TMNOFLAGS as it has return all transactions when called with  XAResource.TMSTARTRSCAN. or XAResource. TMENDRSCAN.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6089
>                 URL: https://issues.apache.org/jira/browse/AMQ-6089
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.12.1
>            Reporter: Chris
>            Assignee: Gary Tully
>              Labels: newbie
>             Fix For: 5.14.0
>
>         Attachments: AMQRecoveryTester.java, XAHandlerXid.java, activemq 5.12.patch
>
>
> org.apache.activemq.TransactionContext implements XAResource.  The recover method currently ignores the flag parameter, returning all transaction regardless of flags passed to it.  This behaviour cause our transaction manager (IIB) to go into an indefinite loop.  It is expecting to get an empty array or null when XAResource.TMNOFLAGS is passed as all transactions where returned by the prior XAResource.TMSTARTRSCAN call.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)