Opened 2 years ago

Closed 22 months ago

#970 closed defect (fixed)

select query while inserting data bug

Reported by: dmisev Owned by: dmisev
Priority: major Milestone: 9.1.x
Component: reladminif Version: development
Keywords: Cc: pbaumann
Complexity: Medium

Description

If a select query is executed while ingesting data, the ingestion fails with a database error (SQLite backend).

Change History (5)

comment:1 Changed 22 months ago by dmisev

This happens because the SQLite database is locked by another process, and unfortunately it doesn't queue concurrent queries from multiple processes (this only works for threads).

I submit a patch that sets a timeout of 60 seconds, internally SQLite retries the query with exponential backoff until it's either unlocked from other processes or 60 seconds pass.

comment:2 Changed 22 months ago by dmisev

  • Cc pbaumann added

comment:3 Changed 22 months ago by pbaumann

so after timeout the requesting rasserver will get informed and throw an exception? I am not familiar enough to understand how an application would get feedback on a failed db update.

comment:4 Changed 22 months ago by dmisev

Yes exactly, it will just return after the timeout saying "database is locked".

comment:5 Changed 22 months ago by dmisev

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.