You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2013/07/19 11:06:49 UTC
[jira] [Resolved] (AMQ-4634) Losing messages when there is a XA trx
timeout
[ https://issues.apache.org/jira/browse/AMQ-4634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully resolved AMQ-4634.
-----------------------------
Resolution: Fixed
Fix Version/s: 5.9.0
thanks for the verification.
> Losing messages when there is a XA trx timeout
> ----------------------------------------------
>
> Key: AMQ-4634
> URL: https://issues.apache.org/jira/browse/AMQ-4634
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.6.0, 5.7.0, 5.8.0
> Environment: JBoss 6.1.
> ActiveMQ 5.8.0 (also tested in 5.7.0 and 5.6.0) standalone mode.
> Reporter: Gaston Scapusio
> Assignee: Gary Tully
> Fix For: 5.9.0
>
> Attachments: logs.txt
>
>
> ActiveMQ does a trx commit when there is a transaction timeout (EJBTransactionRolledbackException). In this way we are losing messages when there is any timeout.
> We have seen that the activemq connections are enlist in XA.
> The attribute transactionContext from ActiveMQSession class has the global transaction reference (xid) before calling the MDB (messageListener.onMessage(message)).
> When the timeout is reached and the RuntimeException is throwned, the transactionContext losed the xid reference.
> Later, when ActiveMQSession call the method transactionContext.isInXATransaction() the result is false because there is no xid reference.
> This situation only happened when the MDB calls other EJB (Stateless) with CMT - TransactionAttributeType.REQUIRES_NEW, and the exception is throwed inside the Stateless.
> I've tried to reproduce this without calling the stateless ejb but it works well.
> The ActiveMQSession class should retain the original transactionContext.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira