(In reply to Jens Stutte [:jstutte] from comment #23) > Might we see here also the consequences of bug 1588498 in some cases? Something like: QM Shutdown hang -> Unclean SQLite shutdown -> broken database file? Yes, but that should be rare since SQLite should be able to recover from a crash in most of the cases. Here's a description of how to corrupt an SQLite database file: https://www.sqlite.org/howtocorrupt.html It also depends on the setting of the "synchronous" flag: https://www.sqlite.org/pragma.html#pragma_synchronous For example, the storage.sqlite database which is very important for QM, sets this to "EXTRA". The database is small and we don't do a lot of writes. IDB: synchronous = NORMAL (until dom.indexedDB.fullSynchronous is set to true which will set the pragma to FULL) DOMCACHE: synchronous = default setting (I think) LSNG: synchronous = FULL
Bug 1482662 Comment 24 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Jens Stutte [:jstutte] from comment #23) > Might we see here also the consequences of bug 1588498 in some cases? Something like: QM Shutdown hang -> Unclean SQLite shutdown -> broken database file? Yes, but that should be rare since SQLite should be able to recover from a crash in most of the cases. Here's a description of how to corrupt an SQLite database file: https://www.sqlite.org/howtocorrupt.html It also depends on the setting of the "synchronous" flag: https://www.sqlite.org/pragma.html#pragma_synchronous For example, the storage.sqlite database which is very important for QM, has this set to "EXTRA". The database is small and we don't do a lot of writes. IDB: synchronous = NORMAL (until dom.indexedDB.fullSynchronous is set to true which will set the pragma to FULL) DOMCACHE: synchronous = default setting (I think) LSNG: synchronous = FULL