RabbitMQ queue issue after cluster restart #10654
-
We are seeing constant problems with classic mirrored queues, when rabbitmq is restarted. Our RabbitMQ cluster runs on Kubernetes (using bitnami helm chart), with three nodes. ha policies are as follows: Each classic queue is mirrored to all three nodes. node-0 sees two instances of the queue:
node-1 sees one instance of the queue (which should be the case)
node-2 sees one instance as well:
The queue is bound to a topic exchange, and does not get any messages. Publisher confirms option is used in the publisher side. The publisher does not log any errors, nor does the consumer. node-0 has lost the bindings in the topic exchange:
while node-1 and node-2 seem normal:
Scaling the rabbitmq cluster down & up solves the problem, but only until the next rolling restart. The most severe thing is, we don't get any indication in the rabbitmq logs that the problem is on. Has anyone experienced anything similar to this? Is there any way to fix this or have a work-around? We are planning to move to quorum queues, which probably would solve the issue (we haven't seen the same happening with quorum queues). However, the migration takes time, due to high number of applications still using classic queues. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Classic mirrored queues have been deprecated for several years, their doc guide very explicitly recommends quorum queues and streams. I'm afraid the suggestion here is to use quorum queues and/or streams, and give 3.13.0 with Khepri a shot. Khepri uses the same recovery mechanism as quorum queues, streams. |
Beta Was this translation helpful? Give feedback.
Classic mirrored queues have been deprecated for several years, their doc guide very explicitly recommends quorum queues and streams.
I'm afraid the suggestion here is to use quorum queues and/or streams, and give 3.13.0 with Khepri a shot. Khepri uses the same recovery mechanism as quorum queues, streams.