- Add ha_check_majority_convergence() in ha.c: counts standby_converged[], promotes CTRL_PRIMARY_COMMITTING → CTRL_PRIMARY when all standbys converge - Threshold: n_peers (all standbys) per spec test cases; single-node satisfies immediately - Called from repl_ack_decode_and_dispatch() before replication dispatch - Logs INFO "majority converged (N/M standbys) → CTRL_PRIMARY" (Req 7.4) - Three unit tests: 1/2 converged → stays COMMITTING; 2/2 → PRIMARY; single-node → immediate - Fix ha.h comment: clarify double-promotion prevention via vtask context, not CAS |
||
|---|---|---|
| .. | ||
| election-iomgr-refactor | ||
| ha-config-bootstrap | ||
| ha-heartbeat-liveness | ||
| ha-peer-connection-reuse | ||
| ha-repl-hardening | ||
| raft-library | ||
| resval-id-decoupling | ||
| scheduler-controller-msg-gap | ||
| worker-join-refactor | ||