myxce/.kiro/specs/raft-apply-decoupling
Rongsong Shen 6f1fa97fab feat(raft-apply-decoupling): defer job construction past the commit barrier (task 3.1)
Reorder handle_jobsubmit() so job objects are constructed via
create_job() only after the WAL commit succeeds, not before. Adds
jobid_range_exists() for a fast-fail pre-check with no WAL work, and
persist_submit_job_payloads_and_commit() (persist.c) operating on raw
xce_job_t* payloads instead of pre-existing job_t*. Commit remains
synchronous -- converting to the continuation-based commit API is
task 3.2.

Fixes bug-1408 (found during review): the post-commit array-
construction loop suppressed notification for an entire array batch
if any one sibling element failed to construct, stranding other
durably-committed and successfully-constructed jobs invisible until
the next restart's replay. Notification now fires unconditionally
for every successfully-constructed element, independent of sibling
failures; the client reply still separately reports the batch's
construction status.
2026-07-04 04:44:43 +00:00
..
brief.md docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
design.md feat(raft-apply-decoupling): commit engine resolve primitive + majority-ack wiring (task 1.2) 2026-07-03 09:03:50 +00:00
facts-in-raft.md docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
requirements.md docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
research.md docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
spec.json docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
tasks.md feat(raft-apply-decoupling): defer job construction past the commit barrier (task 3.1) 2026-07-04 04:44:43 +00:00