[rabbitmq-discuss] [announcement] amq-client 0.8.5 is released

Matthias Radestock 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 [1]. 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.

Matthias.


More information about the rabbitmq-discuss mailing list