test: the unplanned failover of a cloud simple MariaDB pair, measured at 250 ms #124
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!124
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "test/mariadb-cloud-simple-crash"
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?
Stacked on #122 (rebased on main after #121 and #127). Measures #108 and #118 in cloud simple, the mode of the real pair: no etcd lease, the VIP moved by the members' channel.
Case
tests/mariadb_simple_netns.pyon themariadbjob's nodes and links (250 ms ±25 ms, 2 % loss, measured first), every spec in cloud simple with etcd disabled. A primary, B replica, connected and semi-synchronous; C writes one row at the VIP every 0.1 s. A's server killed and A cut off; exactly 2 s later,keel database promote --old-primary-goneon B. New job:mariadb-simple / trixie.Target
15 s from the promote's start, plus what the safety review of #121 keeps without etcd: the promote waits the channel's full 10 s connect timeout for each of its three asks of the dead old primary (epoch, release, announcement). So the assert is 15 + 3 × 10 = 45 s, and 0 acknowledged rows lost.
Measured (
0be60b6)Of the 32.5 s, 30 s are the three full timeouts to the dead old primary. Without them the case is at about 3 s from the promote's start. With the 1.5 s bound (the first version of #121, before the safety review) the same case measured 10.7 s.
CI record
Green at
0be60b6at the first run, no rerun. The case kills A only once C's writes were acknowledged. 8f0549d (the rebase on #127) failedmariadb / trixie(#122's harness, fixed there) andvip / trixieatg_promote_b(etcd did not answer, the known failure). Earlier heads: see the history of this PR.