Ignoring client-proivded queue properties such as queue exclusivity when DQT is set #13044
-
Community Support Policy
RabbitMQ version used3.13.7 or older How is RabbitMQ deployed?Debian package Steps to reproduce the behavior in questionHi Team We have the following scenario, which we'd like to bounce off for review:
This seems fit to be done via an interceptor plugin to manipulate queue.declare and implicitly switch/set the queue-type without clients having to make code changes, however, wanted to find out, is this something we can do at the broker level? e.g. via a config we can enable/disable that can allow/permit this behaviour. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 1 reply
-
@Ayanda-D we have enough of one and off switches around quorum queues already. Ignoring the |
Beta Was this translation helpful? Give feedback.
-
@Ayanda-D I dont understand why you want applications that currently use exclusive queues not to use exclusive queues in the new broker. Surely they chose to use exclusive queues cause they want the lifetime properties of an exclusive queue? Exclusive queues are always classic queues irrespective of default queue type settings. |
Beta Was this translation helpful? Give feedback.
-
@Ayanda-D what you are asking for would turn the whole idea of default queue types upside down. DQT and the code declaration path are already really complex, and that spills over to other features from native STOMP to definition export and import. Furthermore, I fail to see why you'd want a queue that was previously As for quorum_queue.property_equivalence.relaxed_checks_on_redeclaration = true Three people on our team out of three agreed that we should not change the current behavior, which is
|
Beta Was this translation helpful? Give feedback.
-
Such declarations will continue declaring exclusive classic queues even if DQT is set to |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Thanks for explaining, confirming and clarifying the relaxed-checks config in the docs. We'll make use of this. & apologies, the issue was noticed and flagged from an existing long running Thanks! 👍 |
Beta Was this translation helpful? Give feedback.
@Ayanda-D what you are asking for would turn the whole idea of default queue types upside down.
default_queue_type
is just that, a default, not an override. Client properties take precedence over defaults.DQT and the code declaration path are already really complex, and that spills over to other features from native STOMP to definition export and import.
Furthermore, I fail to see why you'd want a queue that was previously
exclusive
queues would need to become quorum ones. Exclusive queues were never mirrored even in the CMQ era.As for
x-queue-type
, there already is a feature that allows that particular property to be ignored during an equivalence check as of #8091:quorum_queue.propert…