Repository navigation
Commit afe202e
Correct the record: the page cache was not the leak
`cd8258a` claimed capping `cache_size` fixed the follower's memory growth, on
the strength of a fifteen-minute curve that went flat at 130 MB. It did not.
Thirty minutes later the same process was at 416 MB and climbing, with 127 MB
arriving in a single minute:
app t+6..t+15 ~125-130 MB flat <- what was measured
app t+38 155 MB
app t+43 198 MB
app t+48 255 MB
app t+54 416 MB
That is the exact mistake this repo already warns about in writing — never
conclude anything about overnight behaviour from a run shorter than the claim —
made on the same day the warning was written down.
The arithmetic says the rest on its own. Twenty connections at 2 MiB is forty
megabytes of page cache, and the process is at four hundred. The new test here
confirms the pragma does reach every pooled connection, so the cap works and the
page cache simply was not what grows. The earlier profile that put 85% of
allocation there was taken six minutes into a process — still filling caches,
like every other capture that night.
**The change itself stays.** A bounded page cache and a busy timeout are right
whatever the leak turns out to be, and SQLite defaulting to a zero busy timeout
on a sixteen-connection pool is a bug waiting for a slow disk. Only the claim
was wrong, and only the claim is withdrawn.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent d735388 commit afe202e
1 file changed
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
0 commit comments