[
https://issues.apache.org/jira/browse/AMQ-6089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15057916#comment-15057916
]
Gary Tully commented on AMQ-6089:
---------------------------------
the transaction context does not maintain any state at the moment. I can see a
case for returning an empty array if TMENDRSCAN is specified. Because the
default behaviour is to return all of the pending xids.
Please add a little test case that demos the usage pattern of your TM, from the
patch it is not clear that data will be of 0 length.
> 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.9.1
> Reporter: Chris
> Labels: newbie
> Attachments: activemq-5.9.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)