test(ha-commit-barrier-rollout): RED tests for config barrier (task 5.1)

6 RED carriers pinning the three configAck defects (previous-tag acks
count, n_active==0 success shortcut, no-self-count denominator) and the
push/upgrade failure path (logged-only result, unconditional success
ACK + restart). 2 sanctioned pins (single-member, success-unchanged).
Behavior-preserving signature change: push_config_to_standbys gains
acked_out (return still legacy push count; 7 call sites NULL'd,
body-diff verified). 29/6 in group; no collateral failures.
This commit is contained in:
Rongsong Shen 2026-06-12 16:31:42 +00:00
parent 732e836868
commit 9cdeba5816
9 changed files with 582 additions and 19 deletions

View file

@ -962,3 +962,18 @@
| 08:03 | Edited src/controller/testsuite/test_commit_barrier_reply.c | 2→5 lines | ~72 |
| 15:15 | Task 4.3 ha-commit-barrier-rollout: fact-retention-across-quorum-loss integration test (GREEN on landing) — quorum lost via repl_remove_standby x2, 4 worker facts via on_job_start/on_job_finish (cluster.c/do_notify not in test link), RETAIN pending + on-disk exactly-once scan, reconnect + covering ACK advances committed_lsn, no re-delivery, retained-depth=4 printed | src/controller/testsuite/test_commit_barrier_reply.c | census 495 distinct Unity PASS (494+1), ZERO FAIL | ~55k |
| 08:29 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~30 |
| 08:43 | Edited src/controller/config_repl.h | modified acked_out() | ~244 |
| 08:43 | Edited src/controller/config_repl.c | added 1 condition(s) | ~219 |
| 08:43 | Edited src/controller/config_repl.c | added 1 condition(s) | ~57 |
| 08:43 | Edited src/controller/config_repl.c | 2→2 lines | ~40 |
| 08:44 | Edited src/controller/ha.c | 2→3 lines | ~59 |
| 08:44 | Edited src/controller/join.c | 2→2 lines | ~27 |
| 08:45 | Edited src/controller/testsuite/test_repl_majority.c | modified arithmetic() | ~158 |
| 08:45 | Edited src/controller/testsuite/test_repl_majority.c | modified entry_lsn() | ~121 |
| 08:45 | Edited src/controller/testsuite/test_repl_majority.c | 4→5 lines | ~90 |
| 08:49 | Edited src/controller/testsuite/test_commit_barrier_rollout.c | expanded (+6 lines) | ~339 |
| 08:50 | Edited src/controller/testsuite/test_commit_barrier_rollout.c | added 2 condition(s) | ~5302 |
| 08:51 | Edited src/controller/testsuite/test_commit_barrier_rollout.c | expanded (+10 lines) | ~210 |
| 08:51 | Edited src/controller/testsuite/test_commit_barrier_rollout.c | 3→8 lines | ~109 |
| 16:10 | Task 5.1 ha-commit-barrier-rollout: RED tests for configAck per-push arithmetic + upgrade failure path; behavior-preserving push_config_to_standbys signature change (+int *acked_out, return semantics unchanged) | src/controller/{config_repl.c,config_repl.h,ha.c,join.c}, testsuite/{test_commit_barrier_rollout.c,test_repl_majority.c} | 8 new cases (6 RED + 2 pins), isolated group 29 tests/6 fails, full suite: only those 6 fail (summary blocks), repl_majority green, prod controller builds | ~110k |
| 09:31 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~22 |