feat: switch SQLite to WAL mode and disable Btrfs CoW for data directory
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 2s
CLI Tests / test-cli (push) Successful in 4s
Integration Tests / test-service-integration (push) Failing after 12s
Python Tests / test-python (push) Successful in 11s
Security Scanning / security-scan (push) Successful in 1m11s
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 2s
CLI Tests / test-cli (push) Successful in 4s
Integration Tests / test-service-integration (push) Failing after 12s
Python Tests / test-python (push) Successful in 11s
Security Scanning / security-scan (push) Successful in 1m11s
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
- Change SQLite journal mode from DELETE to WAL for better concurrency - Add chattr +C to /var/lib/aitbc in setup.sh to disable Btrfs Copy-on-Write - Add fallback logging when chattr is unavailable or fails - Prevent SQLite corruption on Btrfs filesystems by ensuring overwrite-in-place behavior
This commit is contained in:
@@ -24,7 +24,7 @@ _engine = create_engine(f"sqlite:///{settings.db_path}", echo=False)
|
||||
@event.listens_for(_engine, "connect")
|
||||
def set_sqlite_pragma(dbapi_connection, connection_record):
|
||||
cursor = dbapi_connection.cursor()
|
||||
cursor.execute("PRAGMA journal_mode=DELETE")
|
||||
cursor.execute("PRAGMA journal_mode=WAL")
|
||||
cursor.execute("PRAGMA synchronous=NORMAL")
|
||||
cursor.execute("PRAGMA cache_size=-64000")
|
||||
cursor.execute("PRAGMA temp_store=MEMORY")
|
||||
|
||||
Reference in New Issue
Block a user