[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