[rabbitmq-discuss] [announcement] amq-client 0.8.5 is released
matthias at rabbitmq.com
Fri Oct 28 16:29:49 BST 2011
On 28/10/11 16:20, Matthew Sackman wrote:
> Hi Michael,
> On Fri, Oct 28, 2011 at 07:16:17PM +0400, Michael Klishin wrote:
>> amq-client 0.8.5 is released to rubygems.org . This is a bug fix release:
>> * "In-flight" messages that are delivered right after consumer is cancelled are now dropped and will not result
>> in obscure exceptions.
> Interesting. In the other clients we tend to go down the route of having
> a "default" consumer which receives such messages. Someone receiving
> these messages is important because if they're not acknowledged then
> they can form a memory leak on the broker for the lifetime of the
> channel that consumed the messages.
> Not saying that all clients should be the same, of course, just that
> there are implications to silently discarding those messages - you're
> preventing any other consumer of that queue from receiving them.
Also note that a client is guaranteed not to receive any messages for a
consumer after receiving the basic.cancel_ok. I see from the ruby code
that the callbacks/consumers are cleared prior to sending the
basic.cancel. You may want to delay that until after receiving the
cancel_ok. Though you'll have to handle the nowait case somehow too.
More information about the rabbitmq-discuss