fix(reembed): set a busy timeout so it can run beside the live server #221

Merged
cameron merged 1 commits from fix/reembed-busy-timeout into master 2026-11-03 19:55:52 +00:00
Owner

reembed_embeddings opened a bare SQLite connection with no busy timeout. Running it against the live DB, as for the #189 corpus re-embed, an UPDATE that met the watcher holding the write lock would fail at once with SQLITE_BUSY and abort the whole run (? on each update).

It now sets PRAGMA busy_timeout = 15000 after connecting, matching what the server waits on its own connections. Used for the 2026-11-03 prod re-embed of summaries, calendar and entities.

🤖 Generated with Claude Code

reembed_embeddings opened a bare SQLite connection with no busy timeout. Running it against the live DB, as for the #189 corpus re-embed, an UPDATE that met the watcher holding the write lock would fail at once with SQLITE_BUSY and abort the whole run (`?` on each update). It now sets `PRAGMA busy_timeout = 15000` after connecting, matching what the server waits on its own connections. Used for the 2026-11-03 prod re-embed of summaries, calendar and entities. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cameron added 1 commit 2026-11-03 19:41:59 +00:00
The tool opened a bare connection, so an UPDATE that met the server's
watcher holding the write lock failed at once (SQLITE_BUSY) and aborted
the whole run. Wait up to 15 s instead, like the server's own pool.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cameron merged commit 6fffca9989 into master 2026-11-03 19:55:52 +00:00
cameron deleted branch fix/reembed-busy-timeout 2026-11-03 19:55:54 +00:00
Sign in to join this conversation.