feat(ha-commit-barrier-rollout): commit-first-then-reply in all four handlers (task 3.2)

Uniform pattern (ctrl fn -> persist_commit_barrier -> reply) in
do_jobcontrol_op/do_queuecontrol_op/do_hostcontrol_op; join barrier
between AFTER_EVENT and success reply (failure -> error reply, skip
on_worker_join). FIXES bug-447: key_find found-rc normalized inside
job_ctrl/queue_ctrl/worker_ctrl — queue/host control now actually
append WAL and replicate (was silently unpersisted); idempotent no-ops
now return 0. handle_jobsubmit untouched. 12/12 + 15/15; census zero
failures.
This commit is contained in:
Rongsong Shen 2026-06-12 10:28:25 +00:00
parent e1c3c173f4
commit facdb90917
7 changed files with 439 additions and 309 deletions

View file

@ -925,3 +925,15 @@
| 09:35 | Task 3.1 ha-commit-barrier-rollout: created RED integration tests for commit-first-then-reply (4 opcodes x withheld/acked/validation) | src/controller/testsuite/test_commit_barrier_reply.c, meson.build, controller_test.c | 484 results, 8 RED fails (new file only), 472 baseline green; discovered key_find rc==1 leak in queue_ctrl/worker_ctrl/job_ctrl (bug-447) | ~90k |
| 03:00 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~21 |
| 03:00 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | 1→3 lines | ~255 |
| 03:05 | Edited src/controller/queue.c | 2→3 lines | ~16 |
| 03:05 | Edited src/controller/queue.c | modified if() | ~150 |
| 03:05 | Edited src/controller/queue.c | added 2 condition(s) | ~210 |
| 03:05 | Edited src/controller/worker.c | modified if() | ~157 |
| 03:06 | Edited src/controller/worker.c | added 2 condition(s) | ~210 |
| 03:06 | Edited src/controller/job.c | modified if() | ~175 |
| 03:06 | Edited src/controller/job.c | added 2 condition(s) | ~208 |
| 03:06 | Edited src/controller/join.c | 3→4 lines | ~22 |
| 03:07 | Edited src/controller/join.c | added 2 condition(s) | ~243 |
| 11:00 | Task 3.2 ha-commit-barrier-rollout: commit barrier in 4 handlers + bug-447 rc normalization in queue_ctrl/worker_ctrl/job_ctrl | src/controller/{job,queue,worker,join}.c | 12/12 barrier-reply tests PASS, full suite 0 FAIL, no sanitizer reports | ~60k |
| 03:28 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~32 |
| 03:28 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | 1→2 lines | ~172 |