feat(server): cooperative partition reassignment for consumer groups#2734
Merged
feat(server): cooperative partition reassignment for consumer groups#2734
Conversation
cbdd441 to
fd849c2
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #2734 +/- ##
============================================
+ Coverage 68.58% 68.75% +0.17%
Complexity 585 585
============================================
Files 735 736 +1
Lines 60370 60926 +556
Branches 56783 57339 +556
============================================
+ Hits 41403 41889 +486
- Misses 16941 17005 +64
- Partials 2026 2032 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
bd9a768 to
4346e34
Compare
4346e34 to
513f957
Compare
6d968a5 to
f515dc5
Compare
f515dc5 to
b0d6c33
Compare
hubcio
approved these changes
Feb 14, 2026
numinnex
approved these changes
Feb 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partitions moved instantly on join — the old consumer was
mid-processing, the new one polled the same uncommitted
offset, causing duplicates. Three separate metadata reads
let a left-right swap present inconsistent snapshots.
Cooperative rebalancing: excess partitions marked "pending
revocation" on join, excluded from round-robin. Transfer
completes when committed >= polled offset or timeout.
Atomic resolution: group, member, and partition lookup
under single metadata read guard. last_polled_offsets
moved to PartitionMeta via Arcpapaya::HashMap.
Key mechanics:
Integration tests across Tcp/WebSocket/Quic: reshuffle,
duplicates, auto/manual commit, never-polled transfer,
member leave, target leave, concurrent polls, stale
client, timeout, sequential joins, partition add/delete,
even distribution convergence.