CRITICAL PRODUCTION HOTFIX: SQLite Pragmas Container Restart Bug
This release fixes a critical production bug where SQLite pragmas were not being applied correctly after container restarts, causing "database is locked" errors.
Fixed
- CRITICAL: SQLite Pragmas Container Restart Bug (#310)
- Problem: SQLite pragmas (especially
busy_timeout) were only applied during initial DB creation, causing "database is locked" errors after container restarts - Solution: Moved pragma application from
initialize()to_connect_and_load_extension()so it runs on every connection - Impact: Fixes critical production locking errors in containerized deployments (Docker, Kubernetes)
- Technical Details:
- Pragmas are per-connection settings, not database-level settings
- Must be reapplied after every connection, not just first initialization
- Ensures
busy_timeout=10000is set on every SQLite connection
- Files Changed:
src/mcp_memory_service/storage/sqlite_vec.py(+28/-1) - Contributor: @feroult (Fernando Ultremare)
- Problem: SQLite pragmas (especially
Installation
pip install --upgrade mcp-memory-serviceVerification
PyPI publication is handled automatically by GitHub Actions workflow "Publish and Test (Tags)". Monitor workflow status:
gh run list --limit 5Full Changelog: https://github.com/doobidoo/mcp-memory-service/blob/main/CHANGELOG.md