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:
Rongsong Shen 2026-06-27 03:04:23 +00:00
parent d2830ce514
commit 294b9ce8eb
4 changed files with 894 additions and 825 deletions

View file

@ -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}"