Skip to content

Commit d4a445b

Browse files
author
Dylan Huang
committed
make connection more robust
1 parent 1445d75 commit d4a445b

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

eval_protocol/dataset_logger/sqlite_evaluation_row_store.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ class EvaluationRow(BaseModel): # type: ignore
4242

4343
self._EvaluationRow = EvaluationRow
4444

45-
self._db.connect()
45+
# Wrap connect() in retry logic since setting pragmas can fail with "database is locked"
46+
execute_with_sqlite_retry(lambda: self._db.connect(reuse_if_open=True))
4647
# Use safe=True to avoid errors when tables/indexes already exist
47-
self._db.create_tables([EvaluationRow], safe=True)
48+
execute_with_sqlite_retry(lambda: self._db.create_tables([EvaluationRow], safe=True))
4849

4950
@property
5051
def db_path(self) -> str:

eval_protocol/event_bus/sqlite_event_bus_database.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,10 @@ class Event(BaseModel): # type: ignore
181181
processed = BooleanField(default=False) # Track if event has been processed
182182

183183
self._Event = Event
184-
self._db.connect()
184+
# Wrap connect() in retry logic since setting pragmas can fail with "database is locked"
185+
execute_with_sqlite_retry(lambda: self._db.connect(reuse_if_open=True))
185186
# Use safe=True to avoid errors when tables already exist
186-
self._db.create_tables([Event], safe=True)
187+
execute_with_sqlite_retry(lambda: self._db.create_tables([Event], safe=True))
187188

188189
def publish_event(self, event_type: str, data: Any, process_id: str) -> None:
189190
"""Publish an event to the database."""

0 commit comments

Comments
 (0)