We have an Erlang application that uses multiple nodes each with
several rabbitmq consumers connected to different queues. When a node
goes down, its consumers are rebalanced among the rest running nodes.
However, there's a problem. It may take minutes between message
consumption and acking, so most likely when a node goes down, there
are some messages that have been consumed but haven't been acked. And
seems like in that case the newly spawned consumers that are
rebalanced to the other nodes don't get those unacked messages, since
they are already considered to be consumed.
So, my question is, is there a way to make all unacked messages in a
queue become ready for consumption again?