Skip to content

Make it possible to shrink only a subset of quorum queues by providing a naming pattern (backport #15021)#15202

Merged
michaelklishin merged 4 commits intov4.2.xfrom
mergify/bp/v4.2.x/pr-15021
Jan 2, 2026
Merged

Make it possible to shrink only a subset of quorum queues by providing a naming pattern (backport #15021)#15202
michaelklishin merged 4 commits intov4.2.xfrom
mergify/bp/v4.2.x/pr-15021

Conversation

@mergify
Copy link
Copy Markdown

@mergify mergify bot commented Jan 2, 2026

Proposed Changes

Hello Rabbit Team! 👋

These changes extend the QQ force shrink operations to use regx for queue names on shrink (globally or per vhost). There cases where in the event of Quorum Queues being in a bad state (e.g no leader or bad multiple partitions), only a set need be shrunk on emergency disaster recovery operations, to prevent and rescue total message loss before queue is either re-grown or permanently deleted and re-declared. The extension (to the existing operations) allows the following:

ctl eval 'rabbit_quorum_queue:force_all_queues_shrink_member_to_current_member( QQMatchSpec ).'

ctl eval 'rabbit_quorum_queue:force_vhost_queues_shrink_member_to_current_member( VHost, QQMatchSpec ).'

Default will match all queues as existing behaviour. This change will help rescue only a specific set of queues without necessarily shrinking everything (which can take a longtime on heavily loaded brokers). We are really keen on having this available for recovery procedures to help prevent message loss. Please take a look, thanks!

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • 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

Put an x in the boxes that apply.
You can also fill these out after creating the PR.
This is simply a reminder of what we are going to look for before merging your code.

Further Comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution
you did and what alternatives you considered, etc.


This is an automatic backport of pull request #15021 done by [Mergify](https://mergify.com).

@michaelklishin michaelklishin added this to the 4.2.3 milestone Jan 2, 2026
@michaelklishin michaelklishin merged commit f79ad5c into v4.2.x Jan 2, 2026
291 checks passed
@michaelklishin michaelklishin deleted the mergify/bp/v4.2.x/pr-15021 branch January 2, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants