Increase SQLite busy timeout and reduce the number of SQLite connections #2559
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 PR increases the SQLite busy timeout from 30 seconds to 5 minutes. That should give slower operations like Minion queue repairs enough time to finish even on very slow workers. I've also removed the explicit
exclusive
locks, since we only perform a single query in every case, and those will automatically acquire the lock they need. And finally each process will now only use one SQLite connection.All of this should be enough to resolve the problems we had with jobs getting stuck and the cache service dying.
Progress: https://progress.opensuse.org/issues/58484