Repository navigation
fix(treedb): seal explicit NoWAL batch writes after bypass - #5190
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
NoWALFast cached batches could return from explicit
WriteSyncafter backend admission without sealing a durable root when USER leaves were stored in the index. Complete the existing sync barrier after releasing the cache's direct-write locks, and record committed backend ranges before that barrier so a barrier error preserves visibility of an already-published mutation.Ordinary
Writeremains relaxed. Explicit sync now pays the durability work its contract requires; this is a correctness repair, with no speedup claim. Persistent payload dependencies, collection drains, and finite checkpoint boundaries continue through the existing checkpoint path.Validation at local head
8af8c1a8050a42a9b04eca7fe0574bdf1aa31c93: the public regression fails against main-identical production and passes for both USER placements before Close, reopening a stable image containing the earlier ordinary write and pointer payload. The same 18 focused controls pass normal and race (57 test/subtest passes each; zero skips), covering reuse, write/barrier failures, iterator visibility, conditional ordering, and registered collection drains. Automatic streaming selectors are disabled on this main; retained backend-stream state has controlled/source coverage only. Original red and intermediate fixture failures are retained. Final1d181d004includes landed reader #5188, durability-contract/spec clarifications, canonicalno_wal_fastdocumentation wording and one validated CI inventory refresh; the repair production and test postimages remain identical to local8af8c1a80. The original documentation terminology control passes on exact final head (one test, no skips; matcher unchanged). Latest-head hosted qualification: 54/54 checks pass, including the explicit TreeDB required gate; zero failed or pending checks.At prior integrated head
ecae41db9, all five raw benchmarks passed, while the subsequent strict public replacement-cost comparison failed its unchanged bytes gate: median 222153 → 222154 B/op (+1 B), with timing and allocation count passing. Source review found the changed batch seam inactive in that point workload; the measurement’s exact allocation origin remains unresolved. The original failure is retained without a waiver. On exact current head1d181d004, the unchanged strict comparison passed in the Linux raw-path job; no old-head rerun was accepted.Independent GPT-6.1 Sol source review accepted exact head
1d181d0048de5493e42114b57bb4e593a1bb657f, including all three callers, unlocked checkpoint ordering, error visibility, stable-image reopen, and source-equivalent normal/race qualification. This is the independent review path permitted by the pinned-model contract in #4879. Automatic review findings are dispositioned separately.Fixes #5189. Refs #5139 and #5145.
Summary by CodeRabbit
Bug Fixes
WriteSyncreliably seals pending changes before returning.Documentation
Tests