forked from lei.chen/myxce
chore(raft-drive-async): task 4.2 regression sweep — no new regression (baseline-confirmed)
Verdict: raft-drive-async introduces NO new regression.
- Unit: controller_unit_test EXIT=0, xcelib_test 282/0 (all HA suites green;
dispatch/snapshot/configpush flags default OFF, inert).
- Live kill-based failover soak on a real fs (~/tmp), release + ASAN builds:
zero committed-JOB loss every completed round (jobs 3->12 monotonic).
- The 6-round CHAOTIC soak does not run clean to round 6 (fails ~round 4), but a
baseline comparison against pre-Phase-3 binaries (commit 21e26a1) fails round 4
IDENTICALLY (election stall / reconverge). The round-4 committed-prefix
divergence at LSN 9 is the documented pre-existing bug-851/795 family
(chaotic-failover silent divergence), present before Phase 3 and out of scope
for this spec. Logged as bug-1225 (baseline-confirmed).
Also: make the xce-test-ha soak driver's controller/xce_test paths
env-overridable (XCE_HA_BIN / XCE_HA_XT, backward-compatible defaults) — used to
run the baseline binaries through the same driver for the regression comparison.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S6fDCtXkkEgupu7rUah1y2
This commit is contained in:
parent
d2830ce514
commit
294b9ce8eb
4 changed files with 894 additions and 825 deletions
|
|
@ -38,8 +38,8 @@ esac
|
|||
# non-empty dir that carries this marker (see "Step 2: deploy" below).
|
||||
MARKER_NAME=".xce-ha-deploy"
|
||||
DATADIR="${XCE_HA_DATADIR:-$REPO/ha/data}"
|
||||
BIN="$REPO/src/xce.build/controller/xce_controller"
|
||||
XT="$REPO/src/xce.build/controller/xce_test"
|
||||
BIN="${XCE_HA_BIN:-$REPO/src/xce.build/controller/xce_controller}"
|
||||
XT="${XCE_HA_XT:-$REPO/src/xce.build/controller/xce_test}"
|
||||
DEPLOY="$REPO/src/tools/deploy-ha.sh"
|
||||
|
||||
ROUNDS="${XCE_HA_ROUNDS:-6}"
|
||||
|
|
|
|||
|
|
@ -122,7 +122,8 @@ Tasks mirror the design's 4-phase migration. The slow lane is foundational (ever
|
|||
- _Boundary: PartitionTest_
|
||||
- _Depends: 2.3, 3.4_
|
||||
|
||||
- [ ] 4.2 Existing-feature regression sweep
|
||||
- [x] 4.2 Existing-feature regression sweep <!-- NO new regression: unit suites green + live failover soak baseline-compared (bug-1225) -->
|
||||
- **DONE — verdict: raft-drive-async introduces NO new regression.** Unit-level: controller_unit_test EXIT=0, xcelib_test 282/0 (all HA suites — election/prevote/liveness/failover/rdhup/repl/config-repl/persist-recovery/commit-barrier/durability — green, dormant flags OFF). Live kill-based failover soak (real fs ~/tmp, release+ASAN builds): **zero committed-JOB loss** across every completed round (jobs 3→12 monotonic). The 6-round CHAOTIC soak does not run clean to completion — it fails around round 4 — but a **baseline comparison against pre-Phase-3 binaries (commit 21e26a1) fails round 4 IDENTICALLY** (election stall / reconverge), and the round-4 committed-prefix divergence at LSN 9 is the documented pre-existing **bug-851/795 family** (chaotic-failover silent divergence), present before Phase 3 and out of scope for this spec (needs a separate HA-core effort). See bug-1225.
|
||||
- Run the existing HA suites unchanged — election, prevote, liveness, failover, rdhup-integration, repl majority/apply/catchup, config-repl/repl-push, persist-recovery, commit-barrier/commit-durability — and the kill-based failover soak.
|
||||
- Observable: all listed suites pass with no change to their asserted behavior.
|
||||
- _Requirements: 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7_
|
||||
|
|
|
|||
1702
.wolf/buglog.json
1702
.wolf/buglog.json
File diff suppressed because it is too large
Load diff
|
|
@ -3541,3 +3541,13 @@
|
|||
| 17:34 | Edited src/controller/testsuite/test_ha_dispatch_integration.c | 5→9 lines | ~144 |
|
||||
| 17:25 | raft-drive-async 3.4b: receiver-side liveness integration tests (P1 transfer-non-block, P2 ack-under-saturation, P3 cross-ep concurrency); fixed flaky teardown-race hang | test_ha_dispatch_integration.c, controller_test.c, meson.build | 4 P-tests + 5 vep PASS, full suite EXIT=0, 5/5 deterministic | ~120k |
|
||||
| 17:36 | Edited .kiro/specs/raft-drive-async/tasks.md | 2→4 lines | ~366 |
|
||||
|
||||
## Session: 2026-06-27 18:00
|
||||
|
||||
| Time | Action | File(s) | Outcome | ~Tokens |
|
||||
|------|--------|---------|---------|--------|
|
||||
| 17:55 | 4.2 live failover soak (ASAN, real-fs ~/tmp): rounds 1-3 ZERO job loss + correct failover; round-4 reconverge FAIL = soak heuristic false-negative under ASAN (ctrl-2 reached match=16, leader stopped streaming) NOT a regression | ~/tmp/xce-ha-p4 | failover-correctness validated; clean 6-round gate needs release build | ~95k |
|
||||
| 19:53 | Edited .claude/skills/xce-test-ha/run-ha-soak.sh | 2→2 lines | ~34 |
|
||||
| 19:59 | Session end: 1 writes across 1 files (run-ha-soak.sh) | 1 reads | ~6083 tok |
|
||||
| 18:25 | 4.2 BASELINE comparison: pre-Phase-3 (21e26a1) release soak ALSO fails round 4 (election stall) → raft-drive-async = NO new regression; round-4 reconverge/divergence (LSN9) = pre-existing bug-851/795 family; zero committed-JOB loss both builds | ~/tmp/xce-ha-{rel,bl} | 4.2 regression sweep PASSES for spec; chaotic-soak instability pre-exists | ~50k |
|
||||
| 20:04 | Edited .kiro/specs/raft-drive-async/tasks.md | modified soak() | ~287 |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue