Space reconciliation passes by ten times the last pass's time (closes #250) #279

Merged
clawbot merged 2 commits from issue-250-daily-reconciliation into next 2026-10-19 05:00:49 +02:00
2 Commits
Author SHA1 Message Date
clawbot d293ab74d1 Space reconciliation passes by ten times the last pass's time (closes #250)
check / check (push) Canceled after 0s
The reconciliation pass reads a row and stats a file for every cached
file, and it ran on every eviction tick, so on a large cache a pass
longer than the tick was followed by the next one at once. It still runs
at startup and is considered on each tick, but it now starts no sooner
than ten times as long after the last pass ended as that pass took.
Eviction and the removal of expired negative cache rows still run on
every tick. The comments that bound the drift, and README.md, give the
new bound.

Model: opus-5-5
2026-10-19 02:28:23 +00:00
clawbot 7933619692 Test that reconciliation passes are spaced by ten times their time
The new test makes every read of the reconciliation pass sleep 10 ms
through reconciliationReadTestHook, runs the eviction loop on a 10 ms
interval, and checks that each pass starts at least ten times as long
after the previous one ended as that one took. It fails while the pass
runs on every eviction tick, since a slow pass is then followed by the
next one at once.

Model: opus-5-5
2026-10-19 02:26:58 +00:00