fix: the VIP fence of a caught-up MariaDB replica is cleared (keel#192) #194
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel!194
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/mariadb-unfence-caught-up-192"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #192. Stacked on #191 → #190 → #189 → #187: merge those first.
The cross-site rehearsal of 2026-10-16 cut the MariaDB primary, and the VIP moved by itself. The old primary was reseeded, replicated from the holder and caught up, but stayed VIP-fenced: the clear of keel#166 is PostgreSQL only (
dbpgfollow._unfence). Apct stopof the holder then gave no failover in 100 s, and afterpct startboth nodes were fenced and read only.What changes:
keel database followclears the VIP fence of a MariaDB replica that replicates from the holder, with its SQL thread running, once it applied the newest sequence that the holder logged in each GTID domain. "Applied" is its binary log (log_slave_updates) or its slave position, which a reseed sets from the dump, so a reseeded node that does not have the holder's older GTIDs of another server id in its own binary log is still caught up.keel database watchruns follow on a fenced replica of either engine (it was PostgreSQL only).docs/replication.mdsays it.Tests:
tests/test_system_dbfollow.py(caught up after a reseed: unfenced; behind, SQL thread stopped, holder down: fenced; the watch follows a fenced MariaDB replica). The real proof is the second failover of the LNMP 19.0-3 cross-site test.keel 0.23.38.
572b4ed88c52defb6087572b4ed88cfb23385529