Reduce missing/corrupt SQLite archive-index errors caused by overlapping cache cleanup and repair - #3519
Open
syphar wants to merge 1 commit into
Open
Reduce missing/corrupt SQLite archive-index errors caused by overlapping cache cleanup and repair#3519syphar wants to merge 1 commit into
syphar wants to merge 1 commit into
Conversation
syphar
force-pushed
the
archive-index-errors
branch
from
September 12, 2026 22:32
764aee9 to
0c52b65
Compare
syphar
force-pushed
the
archive-index-errors
branch
from
September 12, 2026 23:11
5fdc8f0 to
64d2d7d
Compare
syphar
force-pushed
the
archive-index-errors
branch
from
September 13, 2026 01:02
aceaa93 to
e406617
Compare
syphar
marked this pull request as ready for review
September 13, 2026 01:03
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.
This is motivated by sentry errors we see regularly (error returned from database: (code: 14) unable to open database file), and similar errors leading to flaky tests. Also keep in mind: the storage engine only reports to sentry when the problem still happens after 5 retries.
The solutions here are more or less guesses about where these race conditions happen. Also, this PR is more about quickfixes, hoping these reduce the issue.
I'm thinking about a redesign separately, the whole thing feels too complex for me, of course it's also a central part of our webserver.
details
instead of acting on the original
force_redownloaddecision.limit.
Successful fast-path lookups remain without a path lock. These changes reduce avoidable deletion and repair churn but do not eliminate all filesystem races.
more tests