Skip to content

fix(app): BEGIN IMMEDIATE for writing transactions, un-disable connection max lifetime - #7628

Merged
IMB11 merged 3 commits into
mainfrom
fetch/begin-immediate
Sep 23, 2026
Merged

IMB11 merged 3 commits into
mainfrom
fetch/begin-immediate

Conversation

@fetchfern

@fetchfern fetchfern commented Sep 20, 2026

Copy link
Copy Markdown
Member

SQLite will immediately error with SQLITE_BUSY if it tries to promote a read transaction to a write transaction, but a write invalidated the previously-read data. BEGIN IMMEDIATE makes the transaction immediately acquire a write lock and wait for busy_timeout, avoiding the deadlock entirely

Also removes the recently-introduced max_lifetime(None) on the pool options because there's no point in setting this, better to keep rotating connections for longer app sessions

@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Note

This changelog has been baked. Any further edits will not be reflected.

Pull request changelog

App

Added

Changed

Deprecated

Removed

Fixed

  • Fixed some issues where "Database is locked" errors would occur.

Security

Website

Added

Changed

Deprecated

Removed

Fixed

Security

Hosting

Added

Changed

Deprecated

Removed

Fixed

Security

@fetchfern
fetchfern marked this pull request as draft September 20, 2026 00:50
@IMB11
IMB11 marked this pull request as ready for review September 23, 2026 09:07
@IMB11

IMB11 commented Sep 23, 2026

Copy link
Copy Markdown
Member

@Mergifyio queue

@mergify

mergify Bot commented Sep 23, 2026

Copy link
Copy Markdown

Merge Queue Status

  • Entered queue2026-09-23 09:25 UTC · Rule: default · triggered by a @mergifyio queue command
  • 🟠 Checks running · on draft merge queue: checking #7628 on main (b97d65d) #7677
  • 🚫 Left the queue2026-09-23 09:26 UTC · at 8f18f082093676ad1bde1da36de5f980caec6f16

This pull request spent 1 minute 6 seconds in the queue, with no time running CI.

Waiting for any of
  • check-neutral = Lint and Test
  • check-skipped = Lint and Test
  • check-success = Lint and Test
All conditions

Reason

Pull request #7628 has been merged manually at *71dace7234c709bf290737889168a4de96a03af7*

Hint

You were too fast!

Tick the box to put this pull request back in the merge queue (same as @mergifyio queue).

  • Requeue this pull request

@IMB11
IMB11 requested a review from aecsocket September 23, 2026 09:12
@mergify mergify Bot added the queued label Sep 23, 2026
@IMB11
IMB11 merged commit 71dace7 into main Sep 23, 2026
7 checks passed
@IMB11
IMB11 deleted the fetch/begin-immediate branch September 23, 2026 09:26
@mergify

mergify Bot commented Sep 23, 2026

Copy link
Copy Markdown

queue

☑️ The pull request has been merged manually

Details

The pull request has been merged manually at 71dace7

@mergify mergify Bot removed the queued label Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants