Open Bug 1541550 Opened 5 years ago Updated 2 years ago

Improve IDB open coordination with closing of databases to avoid the open operation busy-waiting/blocking on the QM IO thread.

Categories

(Core :: Storage: IndexedDB, defect, P3)

defect

Tracking

()

People

(Reporter: asuth, Unassigned)

References

(Blocks 1 open bug)

Details

Similar to bug 1541548, I believe we've seen cases where a QM IO thread open of a database ends up busy-waiting on a connection thread closing the same database, especially when the WAL is getting checkpointed. We should be able to improve coordination so that the QM I/O runnable is blocked until the connection thread completes its teardown.

This could improve overall QM-related opening latency, although obviously if the IDB connection thread is IO bound, the QM IO thread IO will need to compete with the IDB connection thread IO. (That said, that might be something we could address by having the SQLite VFS layer support a priority mechanism so that it starts blocking VFS requests from specifically registered connections when the QM IO thread wants to do some stuff.

Blocks: 1438998
Blocks: 1541370
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.