From 0f79b2a7e5d05e2d03e627a3a443dca5069c654e Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 22 Jan 2026 12:21:39 -0800 Subject: [PATCH] Enable sqlite WAL and busy timeout --- internal/matrixbot/state_store.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/matrixbot/state_store.go b/internal/matrixbot/state_store.go index f2e4e0e..b63b343 100644 --- a/internal/matrixbot/state_store.go +++ b/internal/matrixbot/state_store.go @@ -33,7 +33,9 @@ func NewStateStore(path string) (*StateStore, error) { return nil, fmt.Errorf("create state store dir: %w", err) } - db, err := sql.Open("sqlite", path) + // Enable WAL mode + busy timeout to reduce SQLITE_BUSY errors under concurrency. + dsn := path + "?_pragma=busy_timeout(5000)&_pragma=journal_mode(WAL)" + db, err := sql.Open("sqlite", dsn) if err != nil { return nil, fmt.Errorf("open state store: %w", err) }