getThreadRecords, getShellSnapshot, getThreadShell, getRecoveryThreadIds and getSettlementCandidates are pure reads but acquired the writer, so they queued behind any open BEGIN IMMEDIATE. Wrap each in NodeSqliteClient.readOnly; inside an open write transaction they still use the writer. Fixes #23687. Implementation taken from #23689. Co-Authored-By: Victor I <vifarinde@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Julius Marminge committed on 10/22/2026, 9:39:27 PMparentffcf9a0
Checks
- SuccessfulCodeRabbitGitHub
Review completed
- Successful
Skipped - Not affected
- FailedCheckGitHub
- Skipped
- Successful
- Successful
- Skipped
- SkippedRustGitHub
- SkippedTest WebGitHub
- SkippedRelease SmokeGitHub
- SuccessfulBuild and TypecheckGitHub
- FailedTestGitHub
- Skipped
- SuccessfulLabel PR sizeGitHub
- SuccessfulLabel PR 23867GitHub
- SuccessfulCollect PR targetsGitHub
- SuccessfulPrepare PR size configGitHub
- SkippedEAS PreviewGitHub
- SuccessfulTest Server 3GitHub
- SuccessfulTest Server 7GitHub
- SuccessfulTest Server 4GitHub
- SuccessfulTest Server 1GitHub
- SuccessfulTest Server 6GitHub
- SuccessfulTest Server 2GitHub
- SuccessfulTest Server 5GitHub
- SuccessfulTest Server 8GitHub
- SuccessfulLintGitHub
- SuccessfulNative fingerprint diffGitHub
- SuccessfulChangesGitHub
1 file changedLine totals unavailable