Retry a transaction SQLite refuses as locked; /self-hosting F10 repair #232

Merged
paulhitt merged 3 commits from fix/sqlite-busy-retry-and-backfill-doc into main 2026-09-26 19:15:23 +00:00
paulhitt commented 2026-09-26 18:41:05 +00:00 (Migrated from gitlab.com)

Two commits.

  1. The conformance flake (relay!165) was not box load. SQLite skips its busy handler when a transaction that has read asks for the write lock another connection holds, and answers SQLITE_BUSY at once. Registration reads first; the retention sweep writes at boot. retryingTransaction rolls back, backs off and retries, up to five attempts, at all fourteen call sites (each closure is database-only). Tests collide two real connections on one file; falsified with the retry off. PoolerCompatibilityTests accepts either spelling.

  2. /self-hosting gains the manual F10 repair (flamenet-e2e docs/sqlite-verification-backfill, pinned via .e2e-ref). A test reads the SQL from the rendered page and runs it against a database in the broken state; falsified two ways on the page.

761 Swift Testing and 61 XCTest locally, no failures.

Generated with Claude Code

Two commits. 1. The conformance flake (relay!165) was not box load. SQLite skips its busy handler when a transaction that has read asks for the write lock another connection holds, and answers SQLITE_BUSY at once. Registration reads first; the retention sweep writes at boot. `retryingTransaction` rolls back, backs off and retries, up to five attempts, at all fourteen call sites (each closure is database-only). Tests collide two real connections on one file; falsified with the retry off. PoolerCompatibilityTests accepts either spelling. 2. /self-hosting gains the manual F10 repair (flamenet-e2e docs/sqlite-verification-backfill, pinned via .e2e-ref). A test reads the SQL from the rendered page and runs it against a database in the broken state; falsified two ways on the page. 761 Swift Testing and 61 XCTest locally, no failures. Generated with [Claude Code](https://claude.com/claude-code)
paulhitt commented 2026-09-26 18:44:56 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 71f7a5d4 - A federated recipient is "unknown" only when absent, not when the lookup fails

Compare with previous version

added 1 commit <ul><li>71f7a5d4 - A federated recipient is &quot;unknown&quot; only when absent, not when the lookup fails</li></ul> [Compare with previous version](/paulhitt/flamenet-relay/-/merge_requests/169/diffs?diff_id=2056125003&start_sha=651eaccca468a0e49be91bcf687e0a4ba3255f25)
paulhitt (Migrated from gitlab.com) merged commit a5b2548dc4 into main 2026-09-26 19:15:23 +00:00
paulhitt commented 2026-09-26 19:15:24 +00:00 (Migrated from gitlab.com)

mentioned in commit a5b2548dc4

mentioned in commit a5b2548dc44a0a58e17aac202f9224b3f0a0981b
Sign in to join this conversation.