[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1894) Transaction Rollback during client failover may cause duplicated message

Yong Hao Gao (JIRA) jira-events at lists.jboss.org
Sun Jul 31 23:18:24 EDT 2011


Transaction Rollback during client failover may cause duplicated message
------------------------------------------------------------------------

                 Key: JBMESSAGING-1894
                 URL: https://issues.jboss.org/browse/JBMESSAGING-1894
             Project: JBoss Messaging
          Issue Type: Bug
          Components: JMS Clustering
    Affects Versions: 1.4.8.SP2, 1.4.0.SP3.CP14
            Reporter: Yong Hao Gao
            Assignee: Yong Hao Gao
             Fix For: 1.4.0.SP3.CP15, 1.4.8.SP3


The following scenario shows how a duplicated message is produced:

1. A cluster of two nodes, node 1 and node 2, is up and running.
2. a message is delivered from node 1 to a consumer who receives it in a transaction.
3. for some reason the transaction is rolled back, in which the transaction is first removed from the resource manager and then redelivers the message.
4. At the same time failover happens (node 1 dead), in which it will collect the ACK list from resource manager and recover them to the new node (node 2).
5. because lack of synchronization, if in step 3 after the tx is removed and the message is re-delivered (locally) to the consumer, but before the tx is committed, the fail over happens and it won't get the message's ACK info ('cos the tx has been removed already) and the message will be failed over to node 2 and redelivered.

6. So with the successful commit of the tx, the same message is delivered twice.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list