bench: re-validate write path on electric#4710 (recovery hardening) — no regression#7
Merged
Merged
Conversation
… no regression
Re-ran the two write/durability canonical suites (canonical-write,
canonical-mixed-delivery) on the #4710 recovery-hardening build
(durable-streams:dev digest 93803a261706, electric head abca3a5f7) to confirm
the added durability barriers — fail-stop fsync/barrier paths, always-sync
sidecar, extra parent-dir fsyncs on the WAL path — cost no write throughput
vs the #4697 baseline.
Result: no regression.
- canonical-write: wal-ideal 413k/386k @ 10k/100k (#4697: 417k/382k, ±1%);
memory 669k/628k (#4697: 680k/631k, flat). No cardinality cliff
(wal -6.5%, memory -6.1% across 10k->100k). Gates cleared wide.
- canonical-mixed-delivery: memory delivery still tracks writes 1:1 to 140k/s
(the 2026-07-02 collapse stays fixed); wal caps at ~64k del/s at full write
saturation — same shape as #4697.
memory is flat because it takes no fsync barrier, so the hardening cannot touch
it; wal is within noise. The two move exactly as the code predicts.
Read/ursula/mixed-cal/mixed-writes suites are unchanged code paths under #4710
and keep their #4697 values (split provenance recorded in PROVENANCE.md).
Both suites self-tore-down; zero clusters at run end.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y3x7bcT9vLGiT4tXZeQpnk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Re-ran the two write/durability canonical suites on the electric#4710 recovery-hardening build to confirm its added durability barriers cost no write throughput vs the #4697 baseline. Verdict: no regression.
abca3a5f7(fix/recovery-hardening),durable-streams:devdigest93803a261706.d5589289d, digest0e8bfe920065(the 2026-07-14 canonical campaign).What #4710 changes (and why it could regress writes)
#4710 hardens the recovery/durability path: fail-stop
abort()on unretryable fsync/barrier failures, always-sync sidecar tmp writes, and extra parent-dir fsyncs after WAL renames (tails / seal / roll / fresh-open). Every one of those lands on the write path — so that's exactly where a regression would show. Reads, ursula, and the mixed-cal/mixed-writes suites touch no code #4710 changed, so they were not re-run (split provenance inPROVENANCE.md).Results
canonical-write — peak append/s (256 B), Δ vs #4697
canonical-mixed-delivery — SSE delivery under a write ladder (2000 subs)
Files changed
results/canonical-write/**,results/canonical-mixed-delivery/**— re-run cells + aggregates + per-suite reports (#4710).results/REPORT.md— write + delivery sections updated to #4710 with Δ callouts; re-validation banner.results/PROVENANCE.md— split build provenance (#4710 for write suites, #4697 for the rest).Ops
Both suites self-tore-down; zero GKE clusters at run end (verified). Teardown watchdog was armed (scoped
^bench-canon) as a safety net and stood down clean.🤖 Generated with Claude Code