From b5fde32033479641831f76c7c3b3f409ad66f9cb Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Sat, 25 Jul 2026 16:39:47 +0000 Subject: [PATCH] docs(config-upgrade-snapshot): block task 8.6 on bug-1472 (out-of-scope HA replication defect) Root-caused bug-1471's single-byte checkpoint divergence to a genuine, pre-existing bug in WAL_WORKER_CTRL apply (worker_from_capnp treats "-EEXIST" as a benign no-op for every hook detail, which is correct for JOIN replay but silently discards UPDATE/DEAD field changes since the target already existing is the normal case there). This predates config-upgrade-snapshot by ~2.5 months and is unrelated to config upgrades -- filed as bug-1472, genuinely outside this spec's boundary. Task 8.6's own infrastructure and its two in-scope bug fixes (bug-1468, bug-1469) are already committed and reviewed; only the Requirement 6.4 host-admin-status-survival assertion is blocked on bug-1472, per the project's upstream-ownership handling rather than working around it here. --- .kiro/specs/config-upgrade-snapshot/tasks.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.kiro/specs/config-upgrade-snapshot/tasks.md b/.kiro/specs/config-upgrade-snapshot/tasks.md index a9256d5..8e75a24 100644 --- a/.kiro/specs/config-upgrade-snapshot/tasks.md +++ b/.kiro/specs/config-upgrade-snapshot/tasks.md @@ -127,6 +127,7 @@ - Observable: the chaotic-upgrade soak run reports zero materialized-state divergence, zero configuration divergence, and correct host admin-status across all members - _Requirements: 4.1, 4.3, 6.1, 6.4_ - _Depends: 7, 8.1, 8.2, 8.3, 8.4_ + - _Blocked: bug-1472 — pre-existing, out-of-spec-boundary HA worker-control replication defect (`worker_from_capnp`, `worker.c:827-856`, introduced 2026-05-08, commit `9b6a91a8`, ~2.5 months before this spec). `WAL_WORKER_CTRL` apply treats "-EEXIST" (target worker already exists) as a benign no-op for ALL hook details — correct for JOIN replay, but wrong for UPDATE/DEAD, where the target already existing is the normal case. Consequence: a host admin-status change (`hostctrl -c`/`-o`) never propagates past the member that directly processed the RPC — completely general, unrelated to config upgrades or checkpoints. Live soak infra + task 8.6's own bug-1468/bug-1469 fixes are committed (959b0cd) and independently reviewed; only the Requirement 6.4 host-admin-status-survival assertion is blocked, on a bug this spec does not own. See `.wolf/buglog.json` bug-1471 (byte-precise diagnosis) and bug-1472 (root cause) for full forensic detail. Unblocks when bug-1472 is fixed by whoever owns worker/HA replication — no further config-upgrade-snapshot work needed once that lands (re-run `run-ha-soak.sh --config-upgrade` to confirm clean PASS)._ - [ ] 8.7 Inject a crash and a leadership change at the two critical upgrade windows - Force a controller crash/restart between a configuration-change marker's commit and that member's own snapshot write becoming durable, and assert materialization resumes correctly from the marker on restart