fix(shard): drive partition repair and the commit walk from the tick - #4006
Open
numinnex wants to merge 3 commits into
Open
fix(shard): drive partition repair and the commit walk from the tick#4006numinnex wants to merge 3 commits into
numinnex wants to merge 3 commits into
Conversation
Contributor
Author
|
Merge after #4005 |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4006 +/- ##
============================================
+ Coverage 84.91% 84.99% +0.07%
Complexity 1405 1405
============================================
Files 1224 1225 +1
Lines 179327 180588 +1261
Branches 145615 146878 +1263
============================================
+ Hits 152273 153488 +1215
- Misses 23026 23035 +9
- Partials 4028 4065 +37
🚀 New features to boost your workflow:
|
numinnex
force-pushed
the
partition_repair_and_commit_from_tick
branch
from
August 31, 2026 14:36
4e9d294 to
3f741c4
Compare
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.
A partition backup that fell behind had no way back on its own. Every repair arming site is edge triggered, and the edge is starvable: a follower advances commit_max from every prepare header in replicate_preflight, before the gap check drops the prepare, so the commit heartbeat lands as Accepted rather than Advanced and the backstop inside that branch never fires. Under sustained produce the gap wedged until an unrelated view change happened along. The same starvation left a second state stuck, a backup holding resident committed ops that nothing re-drove, because the commit walk is driven by the same branch.
▎
▎ The partition tick now evaluates two level-triggered checks off one probe. A hole below commit_max arms the existing repair against the primary, debounced and capped at three arms per tick. Resident committed ops re-drive commit_journal directly, undebounced and uncapped, since that is local work already owed. The two predicates are mutually exclusive by construction, so the arms cannot fight over a partition. Gap-check drops were log only and now increment a counter.