mariadb: align primary roleProbe marker contract#3215
Draft
weicao wants to merge 1 commit into
Draft
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## helen/mariadb-r11-primary-drift-diagnostics #3215 +/- ##
===========================================================================
Coverage 0.00% 0.00%
===========================================================================
Files 154 154
Lines 24270 24296 +26
===========================================================================
- Misses 24270 24296 +26 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
leon-ape
marked this pull request as draft
July 20, 2026 02:53
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.
Problem
Fresh diagnostic r12 on addon
3e51be9bebd950b26405399966243fba64d5596band syncer7502b58f45efd4fe8f2b06e5313230d9aec69510narrowed the post-commit repair loop to one directly conflicting predicate:The entrypoint clears
.remote-root-fence-rolebefore authoritative commit and treats marker absence as part of the committed-primary invariant. The roleProbe then callsapply_remote_root_fence "primary"and writesprimaryback to that marker, causing the runtime repair path to retract readiness and fence the database.Canonical evidence:
f953215c36658cf9564294f8842b3dc4df915aaec60fca65856efcbccc4758a2SHA256SUMSSHA256:9bd27dc268c3a5338cfefdbb08f030f40e3e047b337b8057549ac064f57a56fdThis is exact-source N=1 evidence. It proves the first observed conflicting predicate for this run, not fleet frequency.
Change
Give
.remote-root-fence-roleone durable meaning:secondarypresent: secondary remote-root fence is activeAn already-accepted primary with no marker no longer rewrites grants or recreates the marker. A secondary-to-primary transition still applies the primary grant set, then removes the marker. If that transition fails, it preserves the secondary marker so the entrypoint observes and repairs the drift instead of hiding it. Secondary behavior is otherwise unchanged.
TDD
Production RED on the old source:
50 examples, 3 failures, 1 historical pending:primarymarker;secondaryfence marker.GREEN:
50 examples, 0 failures, 1 historical pending153 examples, 0 failures, 1 historical pending770 examples, 0 failures, 9 historical pendingssh -ngit diff --checkRuntime boundary
No patched runtime result exists yet. The diagnostic r12 scene remains frozen and the full suite remains NO-LAUNCH. The next runtime gate must use a newly audited current-head combined source and run focused initial-authority convergence before any full-suite decision.