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

Timothy Bish resolved AMQCPP-367.
---------------------------------

    Resolution: Fixed

Added message audit feature to filter duplicates on failover. 
                
> failover: receiving duplicate messages after a broker restart
> -------------------------------------------------------------
>
>                 Key: AMQCPP-367
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-367
>             Project: ActiveMQ C++ Client
>          Issue Type: New Feature
>          Components: CMS Impl
>    Affects Versions: 3.4.0
>         Environment: GNU/Linux
>            Reporter: Chris Hoffmann
>            Assignee: Timothy Bish
>             Fix For: 3.7.0
>
>
> When testing AMQCPP-364/AMQCPP-363, we noticed that on broker shutdown, a 
> listener receives a message twice through onMessage callbacks. 
> Testcase for a 5.3 broker
> 1) In the onMessage before acknowledging the message, shutdown the broker. 
> 2) Then acknowledge the message while broker is still off. 
> 3) Bring the broker back up and you see the message delivered again to the 
> onMessage () callback.
> With a 5.5 broker, the problem also happens when ack'ing the message when the 
> broker is back alive. When ack'ing the firs message, you see an error messag 
> in the broker log:
>  WARN | Ignoring ack received before dispatch; result of failover with an 
> outstanding ack. Acked messages will be replayed if present on this broker. 
> Ignored ack: MessageAck {commandId = 22, responseRequired = false, ackType = 
> 2, consumerId = ID:HOSTNAME-44923-1303316424844-0:0:0:0,
> firstMessageId = ID:HOSTNAME-58084-1303317597544-0:0:0:0:0,
> lastMessageId = ID:HOSTNAME-58084-1303317597544-0:0:0:0:0,
> destination = queue://TESTQUEUE, transactionId = null, messageCount = 1, 
> poisonCause = null}
> A java test program (e.g. the ones in the activeMQ examples directory) work 
> fine: no message duplicates there. When the message gets redelivered to a 
> different client, the second ack'ing results in an exception raised to the 
> java client.
> Kind regards,
> Chris

--
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

Reply via email to