bartongroup / slivka

http://bartongroup.github.io/slivka/
Apache License 2.0
7 stars 3 forks source link

sqlalchemy.exc.OperationalError raised in the scheduler #53

Closed warownia1 closed 5 years ago

warownia1 commented 5 years ago

When completed and new jobs are collected/updated in the database simultaneously the sqlite3.OperationalError database is locked is raised due to concurrent transaction timeout. This exception is immediately followed by sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread.. I suppose that the latter error is raised by a parent thread trying to clean-up. Transaction is never closed and database gets locked indefinitely.

This issue seems to be specific to sqlite3 being unable to handle more than one transaction at the time.

Suggested actions:

warownia1 commented 5 years ago

Probably fixed, but the result will come out during more intensive stress testing.

warownia1 commented 5 years ago

The problem still occurrs. Try not store the list of output files in the database. Fetch it from the file system using the configuration files instead.

warownia1 commented 5 years ago

Fixed by 79de9f58c2a5aeed54cd0f20b9d41c6c81fbeedc