You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OperationalError: database is locked
(5 additional frame(s) were not displayed)
...
File "github-agent-bridge-reader-run", line 6, in <module>
sys.exit(main())
This issue was automatically created by Sentry via Github Issue
El reader deixava escapar SQLITE_BUSY/SQLITE_LOCKED després del timeout de connexió i el timer acabava en error. La PR aplica dos reintents acotats a cada operació SQLite (lectura del cursor, ingestió/quarantena i avanç de last_uid) en lloc de repetir tota la passada IMAP; així un lock en desar el cursor no torna a fer el fetch ni repeteix el \Seen. Els errors d'esquema o d'emmagatzematge no relacionats amb contenció continuen essent fatals.
Validació: 526 tests passats. La regressió principal usa un BEGIN IMMEDIATE real i també es comprova que l'avanç de cursor no duplica efectes IMAP.
python3 -m pytest -q — 537 passats, 1 avís de deprecació Starlette/httpx ja conegut
El retry continua acotat a SQLITE_BUSY/SQLITE_LOCKED per operació SQLite, de manera que un lock en avançar last_uid no repeteix ni el fetch ni l'efecte IMAP \\Seen.
Activity
giscebot commentedon Oct 8, 2026
Fix obert a #291.
El reader deixava escapar
SQLITE_BUSY/SQLITE_LOCKEDdesprés del timeout de connexió i el timer acabava en error. La PR aplica dos reintents acotats a cada operació SQLite (lectura del cursor, ingestió/quarantena i avanç delast_uid) en lloc de repetir tota la passada IMAP; així un lock en desar el cursor no torna a fer elfetchni repeteix el\Seen. Els errors d'esquema o d'emmagatzematge no relacionats amb contenció continuen essent fatals.Validació: 526 tests passats. La regressió principal usa un
BEGIN IMMEDIATEreal i també es comprova que l'avanç de cursor no duplica efectes IMAP.giscebot commentedon Oct 8, 2026
Confirmació post-merge: el fix de #291 ja és a
mainviae214e90i l'issue queda correctament resolta.He verificat de nou el
mainactual (8f6e1c8) en un worktree net:python3 -m pytest -q tests/test_reader.py— 6 passatspython3 -m pytest -q— 537 passats, 1 avís de deprecació Starlette/httpx ja conegutEl retry continua acotat a
SQLITE_BUSY/SQLITE_LOCKEDper operació SQLite, de manera que un lock en avançarlast_uidno repeteix ni elfetchni l'efecte IMAP\\Seen.PR fusionada: #291