feat(ha-repl-hardening): reduce handle_ctrlhello to connection setup only (task 5.1)

- Strip handle_ctrlhello: remove repl_add_standby, WAL streaming,
  snapshot check, push_config_to_standbys, and CtrlHelloReply
- Keep only: set primary_ctrl_fd, call ha_on_heartbeat_received,
  arm ha_arm_heartbeat_timeout_vtask, log INFO
- All replication decisions now handled by heartbeat decision loop
- Test: call with NULL repl + config_tag mismatch → no crash, no repl
  messages enqueued, primary_ctrl_fd set correctly
This commit is contained in:
Rongsong Shen 2026-06-05 03:54:43 +00:00
parent 5915150c3b
commit d13010e4e0
3 changed files with 122 additions and 184 deletions

View file

@ -167,7 +167,7 @@
---
- [ ] 5. Integration: Simplify ctrlhello and harden COMMITTING gate
- [ ] 5.1 Reduce `handle_ctrlhello` to connection setup only
- [x] 5.1 Reduce `handle_ctrlhello` to connection setup only
- Remove config push, snapshot check, and WAL streaming from `handle_ctrlhello`
- Keep: set `primary_ctrl_fd`, call `ha_on_heartbeat_received`, arm liveness watchdog (`ha_arm_heartbeat_timeout_vtask`)
- All replication decisions handled by the heartbeat decision loop (tasks 3.2–3.5)