[rabbitmq-discuss] redelivery after ACK

Matthias Radestock matthias at rabbitmq.com
Thu Nov 8 23:42:00 GMT 2012


Larry,

On 08/11/12 22:18, larry.edelstein at therealreal.com wrote:
> When I run a capture with Wireshark and consume/ack a few messages, I
> see the expected traffic, but no acks.
>
> However: when I set channel.prefetch(1), now I see the acks. If I kill
> and restart the consumer, delivery begins with the first un-ack'd
> message, as I'd expect.
>
> In fact, if I set channel.prefetch(..) to n, and kill/restart the
> consumer after n+1 messages have been received and ack'd, delivery
> resumes with the first un-ack'd message.
>
> And if I issue a queue.unsubscribe, then kill and restart, delivery
> resumes with un-ack'd messages.
>
> Have I misunderstood the way RabbitMQ and/or the gem are supposed to
> behave? I really thought an ack was an ack.

It's not clear what in the above you find surprising, except for the 
first observation. If your app is sending an ack but that doesn't show 
up on the wire then clearly there is a problem with either the app, or 
the client library, or the app's use of the client library.

I suggest you post on http://groups.google.com/group/ruby-amqp or 
perhaps file an issue at https://github.com/ruby-amqp/amqp/issues

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list