feat(ha-prevote): rewire failover triggers through PreVote, defer destructive step (task 4.2)
ha_on_primary_ctrl_fd_rdhup + liveness_poll_fn now begin a PreVote round via ha_begin_failover -> ha_start_prevote_async instead of electing directly; WAL truncate + CTRL_ELECTING deferred to PreVote WON (ha_enter_real_election). Connection teardown + config-less voter guard preserved at the trigger. ha_on_heartbeat_received cancels an in-progress round and re-attaches as standby with no term change. Single-node immediate-WON synchronously enters the real election. PreVote now live; full controller suite 563 pass / 0 fail; bug-339/340 preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7e19bf6110
commit
b765fc4705
6 changed files with 492 additions and 124 deletions
|
|
@ -122,6 +122,7 @@ controller_unit_test_src = [
|
|||
'testsuite/test_ha_rdhup_integration.c',
|
||||
'testsuite/test_ha_liveness.c',
|
||||
'testsuite/test_ha_prevote.c',
|
||||
'testsuite/test_ha_failover_prevote.c',
|
||||
'testsuite/test_commit_engine.c',
|
||||
'testsuite/test_commit_barrier_rollout.c',
|
||||
'testsuite/test_commit_barrier_reply.c',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue