Re: [rabbitmq-users] Re: Ordere of manual acknowledged delivery tags (manual ack with multiple = true)

11 views
Skip to first unread message

Michael Klishin

unread,
Oct 27, 2017, 10:30:09 AM10/27/17
to rabbitm...@googlegroups.com
If you ack one by one, acking "out of order" (e.g. for Y, X, Z) should be fine.

Acking multiple messages at once means "all outstanding delivery tags up to N, inclusive", so if delivery tag is 2,
in this specific case it means "I'm acking 1 and 2". This implies ordering.

On Thu, Oct 26, 2017 at 5:43 PM, Lelum Polelum <pio...@gmail.com> wrote:
and I have a prefetch-size = 3


On Thursday, 26 October 2017 16:17:19 UTC+2, Lelum Polelum wrote:
Dear community!

Assume we have 
  • queue with one client connected to it with manual acknowledge mode
  • three messages x, y, z which are assigned deliver_tags respectively x(dt=1), y(dt=2), z(dt=3)
  • messages arrive in order x, y, z

client consumes all messages and does manual ack (client.basicAck), but ack is done in different order than input messages arrive

order of ack is y(dt=2), x(dt=1), z(dt=3)

why message z(dt=3) is being re-delivered ? Is it some kind of bug ?

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ
Reply all
Reply to author
Forward
0 new messages