Conversation
+ integrate storage durability into runtime and CLI + add custom WAL recovery, batching, acknowledgements, and fsync modes + add SQLite and WAL performance benchmarks + update HLC initialization and ignore database artifacts
+ batch queued requests into one fsync + enforce record, field, queue, and mutation limits + mark terminal writer failures and reject pending work + distinguish torn tails from corrupt WAL records
notxorand
marked this pull request as ready for review
September 1, 2026 16:11
Merging this PR will degrade performance by 11.97%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | runtime.execution |
7.4 s | 8.4 s | -11.97% |
| 🆕 | runtime.storage |
N/A | 2.1 ms | N/A |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing wal-durability (52ab58f) with dev (89658db)
expose durability as a build option and use it when opening storage, with benchmarks reduced to a single inference iteration.
notxorand
force-pushed
the
wal-durability
branch
from
September 2, 2026 17:09
095be78 to
d6fa614
Compare
+ add queue capacity checks before publishing facts + defer eventual WAL cleanup until flush completion + expose queue fullness through DirtyQueue
notxorand
force-pushed
the
wal-durability
branch
from
September 3, 2026 13:37
27b5513 to
a164569
Compare
notxorand
force-pushed
the
wal-durability
branch
from
September 4, 2026 00:11
e54341b to
a164569
Compare
notxorand
force-pushed
the
wal-durability
branch
from
September 4, 2026 02:21
f1d6bb4 to
b14819a
Compare
notxorand
force-pushed
the
wal-durability
branch
4 times, most recently
from
September 4, 2026 03:20
cd138f8 to
8eeee04
Compare
notxorand
force-pushed
the
wal-durability
branch
2 times, most recently
from
September 4, 2026 15:07
a33c610 to
52ab58f
Compare
notxorand
force-pushed
the
wal-durability
branch
from
September 5, 2026 08:51
7713669 to
52ab58f
Compare
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.
closes: #21
Greptile Summary
The PR adds configurable eventual or strict WAL durability and integrates durable source and cascade checkpoints into runtime execution.
Confidence Score: 3/5
The PR is not safe to merge until cascade rollback preserves unrelated queued work and strict WAL publication resolves terminal failures without hanging.
Cascade rollback currently deletes all shared dirty signals, while a persistent post-fsync publication failure traps the WAL worker and strict caller in an unbounded retry loop.
Files Needing Attention: src/engine/context.zig and src/wal.zig
Important Files Changed
Reviews (20): Last reviewed commit: "fix: keep cascade and WAL state recovera..." | Re-trigger Greptile