test(ha-commit-engine): membership re-evaluation regression tests (tasks 3.1+3.2 joint)

Tests 17-20: catch-up ACK exclusion vs pending waiter, membership-change
wake of covered waiter, removal-below-majority fails at own deadline
(no forced early-fail), non-blocking bound. Landed GREEN: task 1.2's
commit_on_membership_change already implements the full 3.2 contract,
so RED was unachievable; reviewer confirmed mutation-killing power and
zero production changes. 20/20 group tests; suite at baseline.
This commit is contained in:
Rongsong Shen 2026-06-11 15:48:42 +00:00
parent 3bc6fd14de
commit 631a08939b
4 changed files with 167 additions and 3 deletions

View file

@ -885,3 +885,10 @@
| 08:00 | Edited src/controller/commit.c | added 5 condition(s) | ~684 |
| 15:20 | ha-commit-engine task 2.2: implemented COMMIT_MODE_WAIT (admission cap max(1,n_vcpus-COMMIT_WAIT_RESERVED) -> -XCE_ERR_NOT_READY, CLOCK_REALTIME pthread_cond_timedwait loop with per-LSN+writable_lsn predicate, n_peers<=1 self-quorum via commit_advance_locked) | src/controller/commit.c | 16/16 test_commit_engine PASS, full suite = 3 baseline failures only (bug-411), no sanitizer output | ~28k |
| 08:24 | Edited .kiro/specs/ha-commit-engine/tasks.md | inline fix | ~22 |
| 08:28 | Edited src/controller/testsuite/test_commit_engine.c | added error handling | ~191 |
| 08:29 | Edited src/controller/testsuite/test_commit_engine.c | added error handling | ~1650 |
| 08:29 | Edited src/controller/testsuite/test_commit_engine.c | added error handling | ~129 |
| 15:33 | task 3.1 ha-commit-engine: wrote tests 17-20 (membership re-eval) in test_commit_engine.c; ALL GREEN against current commit.c (1.2 already implements full re-eval+broadcast) — no RED possible, task 3.2 likely no-op; reported BLOCKED | src/controller/testsuite/test_commit_engine.c | green-not-red finding | ~30k |
| 08:48 | Edited .kiro/specs/ha-commit-engine/tasks.md | inline fix | ~35 |
| 08:48 | Edited .kiro/specs/ha-commit-engine/tasks.md | inline fix | ~43 |
| 08:48 | Edited .kiro/specs/ha-commit-engine/tasks.md | 1→2 lines | ~229 |