myxce/.kiro/specs/job-array-single-wal-record
Rongsong Shen b47cc660ba feat(job-array-single-wal-record): add live, self-healing apply resource fence
Adds a new atomic LSN field on persist_t (distinct from the existing
boot-only unrecoverable-fence flag) plus three primitives:
persist_apply_resource_fenced(), persist_mark_apply_resource_fenced(),
persist_clear_apply_resource_fence(). Wired into
persist_apply_pump_run(): engages on task 4.1's halt condition, clears
unconditionally on the walk's next successful advance — provably
equivalent to "clears only when the same stuck LSN's retry succeeds"
since the walk is strictly sequential and never advances past a
failed position.

Known residual gap, out of this task's boundary (documented in
tasks.md Implementation Notes): replay_wal() during boot/restart
replay does not yet share this protection, so a node crashing while
fenced can silently re-pass the same failure on restart. Flagged for
a follow-up task, not fixed here.

Task 4.2 of job-array-single-wal-record (Requirements 9.4, 9.5).
2026-07-15 03:54:20 +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(job-array-single-wal-record): wire array expansion into apply_wal_entry 2026-07-15 02:30:06 +00:00
requirements.md spec(job-array-single-wal-record): scaffold requirements 2026-07-12 04:25:50 +00:00
spec.json spec(job-array-single-wal-record): scaffold requirements 2026-07-12 04:25:50 +00:00
tasks.md feat(job-array-single-wal-record): add live, self-healing apply resource fence 2026-07-15 03:54:20 +00:00