feat(ha-election): per-priority failover election stagger + prevote dispatch-gate
Desync FAILOVER re-elections by node priority (ha_election_stagger_ms / ha_failover_stagger_fn) mirroring the startup stagger, with seed jitter and async prevote start; allow prevote in voter roles through the dispatch gate. Adds HA role and vote-gate tests (stagger desync by priority, prevote on dead primary, stickiness-lapse grants). Pre-existing uncommitted work, committed to establish a clean baseline before ha-commit-durability implementation.
This commit is contained in:
parent
223e1b8578
commit
749e194207
5 changed files with 238 additions and 2 deletions
|
|
@ -523,6 +523,7 @@ static int myreq_handler(vtask_t* task)
|
|||
if (role == CTRL_PRIMARY)
|
||||
deny_reason = "primary";
|
||||
else if (role == CTRL_STANDBY &&
|
||||
c->ha.primary_ctrl_fd >= 0 &&
|
||||
ha_heartbeat_is_fresh(&c->ha))
|
||||
deny_reason = "fresh_heartbeat";
|
||||
else if (atomic_load_explicit(&c->ha.in_catch_up,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue