Queues created by Shovels aren't quorum queues despite providing x-queue-type
#9951
-
|
RabbitMQ So I have a few hundred shovels, all of which will use an exchange for Here's an example of a shovel definition that I use. {
"parameters": [
{
"component": "shovel",
"name": "from-centralized-services",
"value": {
"ack-mode": "on-confirm",
"dest-add-forward-headers": true,
"dest-exchange": "event",
"dest-protocol": "amqp091",
"dest-uri": "amqp:///MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK",
"src-delete-after": "never",
"src-exchange": "event",
"src-exchange-key": "*.anonymized123.annoymized123.#",
"src-prefetch-count": 1,
"src-protocol": "amqp091",
"src-uri": "amqp:///central-services",
"dest-queue-args": {
"x-queue-type": "quorum"
}
},
"vhost": "MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK"
}
]
}And the prerequisite definitions for above shovel to work. {
"vhosts": [
{
"limits": [
["max-queues", 150],
["max-connections", 10]
],
"metadata": {
"description": "Empty",
"tags": ["Empty"]
},
"name": "MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK"
}
],
"bindings": [
{
"arguments": {},
"destination": "amq.gen-G7wpNgJ0OzMYrBlMfeDeYg",
"destination_type": "queue",
"routing_key": "*.anonymized123.anonymized123.#",
"source": "command",
"vhost": "MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK"
}
],
"exchanges": [{
"arguments": {},
"auto_delete": false,
"durable": true,
"name": "event",
"type": "topic",
"vhost": "MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK"
}]
}The above shovel ends up creating a classic queue prefixed with Even if I set up the below policy to force mirroring classic queues, it only works for classic queues not created by shovels. rabbitmqctl set_policy ha-exactly-two ".*" '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}' -p "MDM5M3R4NTc4OHk4aHdkbmM4bnM2M2ljXzI3bndmZmFmZHU0eWszbXptOWwwanBtdHkK"This is the guide that I followed. Any tips/suggestions are highly appreciated. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 8 replies
-
|
RabbitMQ 3.9 is completely out of support. Classic mirrored queues have been deprecated for years (see at the very top) and are scheduled to be removed very soon (#9815). |
Beta Was this translation helpful? Give feedback.
-
|
Exclusive queues cannot be mirrored by definition: their lifecycle is tied to that of a single connection (to a specific node). You can override queue name and arguments for Dynamic shovels. |
Beta Was this translation helpful? Give feedback.
amq.gen-means a server-named, very likely exclusive queue.Exclusive queues cannot be mirrored by definition: their lifecycle is tied to that of a single connection (to a specific node).
You can override queue name and arguments for Dynamic shovels.