[
https://issues.apache.org/activemq/browse/AMQ-2877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-2877.
-----------------------------
Resolution: Fixed
resolve in 988974
having a timeout on the wait for pull may also be sensible, lets see.
> Failover and prefetch=0 can result in hung consumers if the MessagePull
> command is lost
> ---------------------------------------------------------------------------------------
>
> Key: AMQ-2877
> URL: https://issues.apache.org/activemq/browse/AMQ-2877
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.4.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.4.1
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.