-
Notifications
You must be signed in to change notification settings - Fork 4k
Allow configuring whether queue types are enabled #14624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This change adds config options for controlling the `is_enabled/0`
queue type callback for classic queues, quorum queues and stream
queues. This is useful for operators to be able to control whether
users can declare these queues - i.e. to prevent users from declaring
queue types which cannot be supported operationally.
Setting
queue_types.stream.enabled = false
In a config file for example prevents stream queues from being declared.
|
I didn't add a test case for this since it's a very straightforward change. This can be tested manually by creating a config file I also didn't add a config option for the MQTT QoS0 queue type since I think that queue type is more of an implementation detail and not worth controlling other than with the feature flag. |
Allow configuring whether queue types are enabled (backport #14624)
|
This PR prevents streams from being declared in some, but not all, ways. If you just run stream-perf-test, it declares a stream without problems, despite Moreover, trying to disable classic queues seems to prevent a node from booting at all. Just trying |
|
For the streams protocol it looks like we'll need to add a check of For the failure to boot it looks like this check fails when adding the default vhost: rabbitmq-server/deps/rabbit/src/rabbit_vhost.erl Lines 212 to 219 in a09383d
So we can't add vhosts where the default queue type is not enabled. I think it might be more reasonable to warn in that situation since you might always explicitly declare your queue types - IMO I will send some follow-ups. Thanks @mkuratczyk! |
This change adds config options for controlling the
is_enabled/0queue type callback for classic queues, quorum queues and stream queues. This is useful for operators to be able to control whether users can declare these queues - i.e. to prevent users from declaring queue types which cannot be supported operationally.Setting
In a config file for example prevents stream queues from being declared.