You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Remo Gloor (JIRA)" <ji...@apache.org> on 2013/10/29 14:04:32 UTC

[jira] [Reopened] (AMQNET-450) NetTxTransaction replay is incorrect when using Failover Transport

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

Remo Gloor reopened AMQNET-450:
-------------------------------


The following methods reuse commands too and need to clone them:

NetTxTransactionContext.Rollback
NetTxTransactionContext.InDoubt

> NetTxTransaction replay is incorrect when using Failover Transport
> ------------------------------------------------------------------
>
>                 Key: AMQNET-450
>                 URL: https://issues.apache.org/jira/browse/AMQNET-450
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ, NMS
>    Affects Versions: 1.6.0
>            Reporter: Remo Gloor
>            Assignee: Timothy Bish
>             Fix For: 1.6.1
>
>         Attachments: TransactionState.cs.patch
>
>
> TransactionState.AddCommand must clone the operation because TransactionInfo command instances are reused (e.g. in NetTxTransactionContext.Prepare()). 
> If they are not cloned then the list will contain the second command twice and the no instance of the first command because the first command is changed after added to the list by the reassignment of some values when it is reused. This results in wrong replied messages on reconnects.
> Another solution is not to reuse any command instance in the whole code.



--
This message was sent by Atlassian JIRA
(v6.1#6144)