Replies: 2 comments 4 replies
-
Please provide your full RabbitMQ configuration as well as an export of the definitions from your cluster. ATTACH the output to your response (do not paste it into the comment box!) |
Beta Was this translation helpful? Give feedback.
-
It depends on how you define whether a queue "exists" or not. A queue can exist but have no elected leader: does it still exist in that case? What I am getting at is that nodes can report existence of a queue in its schema database but the queue may or may not have an elected leader. Specifically classic mirrored queues can end up without an electable leader in certain scenarios. Classic mirrored queues have been deprecated for several years now. Sorry but our team won't spend any more time on classic mirrored queues: their design is unfixable. Quorum queues have been around for some five years now, and streams for a couple of years. They do not exibit this behavior as long as a majority of nodes is online (and thus a new leader can be elected). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
Hi,
I'm testing Rabbitmq HA with Openstack kolla-ansible classic installation.
Rabbitmq service is deployed in containers using Ubuntu 22.04.1, on 3 host cluster using quorum+classic queues.
I've noticed, when the Rabbitmq service is restarted on the host that owns the classic queue, the queue moves to(succesfully recreates on) any other running Rabbitmq host. Next, we restart the service on the next owner of the queue (after correct restoration of the cluster). In our configuration, the queue will essentially migrate between two of the three hosts due to the Rabbitmq queue_master_locator = min-masters setting
With several similar iterations of Rabbitmq service restart, Rabbitmq informs reconnecting clients(catched with Wireshark) that the queue exists, but in fact it does not exist - as a result, the clients does not recreate its queues when reconnecting.
Reproduction steps
This simple script I'm using to automate this check:
in script variables:
connect_host - the host to which the queue does not move because queue_master_locator = min-masters, this host is used for control
host_list - hosts between which the queue moves
reply - classic queue being monitored
Expected behavior
Rabbitmq informs reconnecting clients about queues correctly
Additional context
Tested on:
RabbitMQ 3.12.0, 3.12.6
Erlang 26.1.1
oslo.messaging 14.0.1
amqp 5.1.1
kombu 5.2.4
just in case, cluster_partition_handling = pause_minority
Beta Was this translation helpful? Give feedback.
All reactions