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

Daniel Laügt updated AMQCPP-384:
--------------------------------

    Attachment:     (was: ConnectionStateTracker.cpp.diff)
    
> Failover and prefetch=0 can result in hung consumers if the MessagePull 
> command is lost
> ---------------------------------------------------------------------------------------
>
>                 Key: AMQCPP-384
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-384
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>    Affects Versions: 3.4.0
>            Reporter: Daniel Laügt
>            Assignee: Timothy Bish
>         Attachments: ConnectionStateTracker.cpp.diff, 
> ConnectionStateTracker.h.diff
>
>
> The problem has been fixed in ActiveMQ Java Client with the issue AMQ-2877:
> https://issues.apache.org/jira/browse/AMQ-2877
> I've attached a patch that backport the fix done in java to C++. It can be 
> probably used as suggestion...
> With prefetch=0, a consumer that has no messages sends an async message to 
> the broker to have it dispatch a single message and waits for the dispatch to 
> ocurr. prefetch=0 makes the consumer a pull consumer, in that it has to ask 
> for a message each time.
> there is a possibility that failover occurs just after the send of the 
> messagePull command such that the consumer is blocked waiting for a message 
> but a failover connection or broker does not know about the outstanding pull 
> command. The connection state tracker is the normal mechanism for command 
> replay after failover. This needs to be extended to track messagePull 
> commands, keeping one outstanding reference for each consumer/destination 
> pair that can be replayed after failover.
> It makes sense to reuse the messageCache for this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to