chore(controller): clusterconfig-schema-split task 5.3 — single-node/peers-override/EINVAL live-verified

Live-verified all three cluster_open_listener code paths not exercised by
the 3-node soak: no --peers binds hardcoded default 9990; a single
self-referencing --peers entry binds its custom port instead; --peers
given but local name absent still refuses to start with -EINVAL, unchanged.
Independently reproduced by the reviewer. This closes the actual
regression risk this spec's design was built around.

Review also found (bug-1457, logged, not fixed here) that pre-spec
single-node startup was already broken with -EINVAL before this spec
began, due to an unrelated myapp_run listener-open/config-load ordering
issue -- task 2.1's rewrite incidentally repaired it. research.md updated
to record this against the spec's original preservation premise.
This commit is contained in:
Rongsong Shen 2026-07-21 05:56:05 +00:00
parent 3e01fb1bcb
commit edd79562a4
3 changed files with 117 additions and 4 deletions

View file

@ -84,7 +84,7 @@
- _Requirements: 3.3, 5.4_
- _Depends: 4, 5.1_
- [ ] 5.3 Single-node startup, self-referencing-peers port override, and preserved error-path verification
- [x] 5.3 Single-node startup, self-referencing-peers port override, and preserved error-path verification
- Start a controller with no `--peers` flag and confirm it binds its listener to the hardcoded default port (9990) from task 2.1
- Start a controller with a single self-referencing `--peers <name>=<host>:<port>` entry (own `-n`/`--myname` matching, custom port) and confirm it binds to that port instead of the default — this is the sole replacement mechanism for a non-default single-node port under this spec
- Start a controller with a `--peers` list that does not contain the controller's own name and confirm it still refuses to start with the existing `-EINVAL` error, unchanged from pre-spec behavior