[ 
https://issues.apache.org/jira/browse/AMQCPP-363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13022778#comment-13022778
 ] 

Timothy Bish commented on AMQCPP-363:
-------------------------------------

AMQCPP-364 fixes the older broker issue, patches applied to the 3.4 branch.  
Testers welcome.

> failover: consumer does not always restart properly after reconnect
> -------------------------------------------------------------------
>
>                 Key: AMQCPP-363
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-363
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 3.3.0
>         Environment: GNU Linux
>            Reporter: Chris Hoffmann
>            Assignee: Timothy Bish
>            Priority: Critical
>             Fix For: 3.4.0
>
>
> Hi,
> While testing AMQCPP-355, we came across a problem when resuming from a 
> broker restart. Resuming seems to be erratic when the broker shutdown happens 
> during message processing in an onMessage callback.
> a) if a message is ack'ed while the broker is still down, the same message 
> will be redelivered after connection resumes. The command tracing does not 
> show the sending of the 1st acknowledgment. 
> b) if a message is ack'ed after the broker is brought back (connection 
> resumed OK), the command tracing shows that the ack is send, but on the 
> broker side we see an warning message:
>  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://test, transactionId = null, messageCount = 1, 
> poisonCause = null}
> We can't see any redelivery message in the command trace and subsequent 
> messages are not delivered either. The consumer is nevertheless shown on 
> broker admin console. 
> When the connection is resumed, we see that the prefetch size is set to 0 in 
> the consumerInfo message.
> c) resuming works fine, if the message is not in process when the shutdown 
> happens.
> Cases a+b work fine, when we tried to reproduce with a java client from the 
> ActiveMQ examples dir.
> Regards,
> Chris

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

Reply via email to