feat(ha-repl-hardening): populate stateReport in standby heartbeat reply (task 2.3)

OPCode_nop handler now sends stateReport {applied_lsn, config_tag}
instead of nodata. Function in ha.c for unit-test linkability.
Two tests: warm state and zero-state fresh standby (Req 1.4).
This commit is contained in:
Rongsong Shen 2026-06-04 16:08:11 +00:00
parent 6bbcff62ca
commit 7dc657b1bd
5 changed files with 128 additions and 5 deletions

View file

@ -60,7 +60,7 @@
- _Boundary: Standby Dispatch (cluster.c / ha.c)_
- _Depends: 1.2, 2.1_
- [ ] 2.3 (P) Populate `stateReport` in heartbeat reply on standby
- [x] 2.3 (P) Populate `stateReport` in heartbeat reply on standby
- In the `OPCode_nop` handler (`cluster.c`), replace `data_which = nodata` with `data_which = stateReport`
- Populate `appliedLsn` from `ha->applied_lsn` and `configTag` from `myconf->config_version_tag`
- Unit test: verify reply carries correct `applied_lsn` and `config_tag` after WAL catch-up