-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Deprecate queue-master-locator #11565
Conversation
e38a81a
to
d608ace
Compare
@mkuratczyk I have added the new suite to Bazel. |
deaee1e
to
7390cff
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this PR deprecates queue-master-locator
, how can we in future remove support for queue-master-locator
? Should queue-master-locator
be placed behind a deprecated feature flag such that removal can be enforced in a future RabbitMQ version?
We can, even now, but I wouldn't rush with actually enforcing anything. The amount of code needed to support the old name is tiny and there can be applications that have that name in the codebase and we all know that for some users, application code changes are very hard (this particular setting is probably much more common in policies, that are easier to change, but still). |
No, we can't remove support for Users might not read the documentation and might not even understand that
We already use this deprecated feature subsystem for various deprecated features. |
As I said on Slack, I also favor the use of deprecated features because it increases the chance that the information reaches the user who rely on that feature. It also allows them to test RabbitMQ as if the feature was gone. |
692c40c
to
21f03b2
Compare
Corresponding docs PR: rabbitmq/rabbitmq-website#1961 |
f501367
to
60b2053
Compare
3feb7fd
to
3ca0d74
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm unable to test upgrades from
|
If you have tested that upgrades from v3.13 to this PR branch work with classic queues with |
1d7c6b1
to
169d62a
Compare
* this should not be a breaking change - all validation should still pass * CQs can now use `queue-leader-locator` * `queue-leader-locator` takes precedence over `queue-master-locator` if both are used * regardless of which name is used, effectively there are only two values: `client-local` (default) or `balanced` * other values (`min-masters`, `random`, `least-leaders`) are mapped to `balanced` * exclusive queues are always declared locally, as before
* prevent the warning about deprecated features when they are not actually used * add a feature flag to prevent the use of queue-leader-locator until all nodes support it * don't use is_mixed_version in tests * keyfind -> keymember
Add leader-locator as an argument for all queue types Remove master-locator
169d62a
to
68e61b3
Compare
* Deprecate queue-master-locator This should not be a breaking change - all validation should still pass * CQs can now use `queue-leader-locator` * `queue-leader-locator` takes precedence over `queue-master-locator` if both are used * regardless of which name is used, effectively there are only two values: `client-local` (default) or `balanced` * other values (`min-masters`, `random`, `least-leaders`) are mapped to `balanced` * Management UI no longer shows `master-locator` fields when declaring a queue/policy, but such arguments can still be used manually (unless not permitted) * exclusive queues are always declared locally, as before (cherry picked from commit f398892)
* Deprecate queue-master-locator This should not be a breaking change - all validation should still pass * CQs can now use `queue-leader-locator` * `queue-leader-locator` takes precedence over `queue-master-locator` if both are used * regardless of which name is used, effectively there are only two values: `client-local` (default) or `balanced` * other values (`min-masters`, `random`, `least-leaders`) are mapped to `balanced` * Management UI no longer shows `master-locator` fields when declaring a queue/policy, but such arguments can still be used manually (unless not permitted) * exclusive queues are always declared locally, as before (cherry picked from commit f398892) Co-authored-by: Michal Kuratczyk <michal.kuratczyk@broadcom.com>
queue-leader-locator
queue-leader-locator
takes precedence overqueue-master-locator
if both are usedclient-local
(default) orbalanced
min-masters
,random
,least-leaders
) are mapped tobalanced