Closed Bug 1813986 Opened 2 years ago Closed 2 years ago

Sqlite module should be able to register for vacuum

Categories

(Toolkit :: Storage, defect, P3)

defect

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox113 --- fixed

People

(Reporter: mak, Assigned: mak)

References

(Blocks 3 open bugs)

Details

Attachments

(2 files)

Currently the vacuum manager doesn't play well with async connections, it was written quite some time ago and it's basically only serving Places.
I'd like to modify it to get an asyncConnection, and allow it to also set incremental vacuum mode if requested, as well as vacuum attached databases.
To do that, an asyncVacuum() method can be added to the async connection interface, so the work can be done in a runnable. The vacuum manager will just call into that method.

Blocks: 1755467
Blocks: 1818039
Attachment #9318611 - Attachment description: WIP: Bug 1813986 - Sqlite module should be able to register for vacuum. → WIP: Bug 1813986 - Add an asyncVacuum() method to storage async connections, and let VacuumManager use it.
Attachment #9318611 - Attachment description: WIP: Bug 1813986 - Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. → Bug 1813986 - Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. r=asuth
Attachment #9319249 - Attachment description: WIP: Bug 1813986 - Sqlite module connections should be able to register for vacuum on idle → Bug 1813986 - Sqlite module connections should be able to register for vacuum on idle. r=asuth
Blocks: 572460
Pushed by mak77@bonardo.net: https://hg.mozilla.org/integration/autoland/rev/d90fa56c73e5 Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. r=asuth https://hg.mozilla.org/integration/autoland/rev/14879c9b6b3c Sqlite module connections should be able to register for vacuum on idle. r=asuth
Regressions: 1823810

there is also a failure on Android to verify, related to chunked growth.

Flags: needinfo?(mak)

Ah, of course, on Android we disabled chunked growth https://searchfox.org/mozilla-central/rev/dd2fe65d792943365a03fa996cdf9766829575b6/storage/mozStorageConnection.cpp#2271-2273 so that test should be skipped.

Pushed by mak77@bonardo.net: https://hg.mozilla.org/integration/autoland/rev/49de76d5683d Add an asyncVacuum() method to storage async connections, and let VacuumManager use it. r=asuth https://hg.mozilla.org/integration/autoland/rev/40936d4c96bf Sqlite module connections should be able to register for vacuum on idle. r=asuth
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: