Skip to content
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

4.0: Remove classic queue mirroring #9815

Merged
merged 3 commits into from
Jun 4, 2024

Conversation

dcorbacho
Copy link
Contributor

@dcorbacho dcorbacho commented Oct 27, 2023

Quorum queues and streams are now the only replicated data structures. Classic queues
are still around as a non-replicated type.

Types of Changes

  • Bug fix (non-breaking change which fixes issue #NNNN)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)
  • Build system and/or CI

Checklist

  • I have read the CONTRIBUTING.md document
  • I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally with my changes
  • If relevant, I have added necessary documentation to https://github.com/rabbitmq/rabbitmq-website
  • If relevant, I have added this change to the first version(s) in release-notes that I expect to introduce it

@michaelklishin michaelklishin changed the title WIP Removal classic mirrored queues 4.0: WIP Removal classic mirrored queues Oct 27, 2023
@dcorbacho dcorbacho force-pushed the remove-classic-mirrored-queues branch 7 times, most recently from 75221e5 to 5899af9 Compare November 1, 2023 19:33
@michaelklishin michaelklishin changed the title 4.0: WIP Removal classic mirrored queues 4.0: WIP Remove classic mirrored queues Nov 2, 2023
@dcorbacho dcorbacho force-pushed the remove-classic-mirrored-queues branch from 5899af9 to 7eefe82 Compare November 7, 2023 15:38
@dcorbacho dcorbacho force-pushed the remove-classic-mirrored-queues branch 7 times, most recently from 2c40f6a to 1bb7c47 Compare June 3, 2024 13:15
dcorbacho and others added 3 commits June 4, 2024 13:00
For mixed-version clusters, as the gm table is created even if
CMQ have already been deprecated
@dcorbacho dcorbacho force-pushed the remove-classic-mirrored-queues branch from c95d318 to 11a90b9 Compare June 4, 2024 11:06
@dcorbacho dcorbacho changed the title 4.0: WIP Remove classic mirrored queues 4.0: Remove classic mirrored queues Jun 4, 2024
@dcorbacho dcorbacho marked this pull request as ready for review June 4, 2024 13:51
@michaelklishin michaelklishin merged commit ae31b47 into main Jun 4, 2024
20 checks passed
@michaelklishin michaelklishin deleted the remove-classic-mirrored-queues branch June 4, 2024 17:44
@michaelklishin michaelklishin added this to the 4.0.0 milestone Jun 4, 2024
michaelklishin added a commit to rabbitmq/rabbitmq-website that referenced this pull request Jun 4, 2024
The have been removed from rabbitmq/rabbitmq-server@main [1].

1. rabbitmq/rabbitmq-server#9815
@michaelklishin michaelklishin changed the title 4.0: Remove classic mirrored queues 4.0: Remove classic queue mirroring Jun 4, 2024
@rabbitmq rabbitmq locked as resolved and limited conversation to collaborators Jun 4, 2024
@ansd
Copy link
Member

ansd commented Jun 21, 2024

It looks like consumer argument x-cancel-on-ha-failover should have been deleted as part of this PR.

Likewise, MQTT connections don't need to perform failover for mirrored classic queues in

%% Consuming classic queue is down.
%% Let's try to re-consume: HA failover for classic mirrored queues.
case consume(Q, QoS, State0) of
{ok, State} ->
State;
anymore.

@michaelklishin
Copy link
Member

Filed #11540 for those two.

@michaelklishin
Copy link
Member

It is not entirely obvious to me, what the rabbit_channel of x-cancel-on-ha-failover should do now: always recover? For classic (no longer replicated) queues the choice is less obvious.

@ansd
Copy link
Member

ansd commented Jun 28, 2024

Copied from internal Slack:

Channels should not try to re-register consumers.
If the classic queue is down, consumption is stopped and the client gets notified.
Likewise, MQTT connection should not try to re-consume. Instead, the MQTT connection will be terminated.
I think it would be less confusing just to always cancel the consumer

@michaelklishin michaelklishin added the breaking-change Includes changes that are potentially breaking compared to prior versions label Aug 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bazel breaking-change Includes changes that are potentially breaking compared to prior versions make
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants