Open Bug 1475582 Opened 6 years ago Updated 2 years ago

Remove the ACTION.TIMED expiration

Categories

(Toolkit :: Places, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: mak, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: perf, Whiteboard: [snt-scrubbed][places-performance])

We currently run 2 kind of expiration, one runs always and removes orphans, another one runs only when the database is over the given limit. I'd like to remove the former and make the latter run less often (every 15 minutes or so). To achieve this, we need to remove entries directly rather than relying on expiration doing it. History.jsm is already doing a good work at this, but keywords and bookmarks are not. Since most of the APIs are async now, we can make them remove entries from moz_places and stop delaying that work. At that point weekly maintenance will be the owner of orphans removal, while expiration should only take care of bringing the database back to a meaningful size. This still requires some work, like removal of annotations and tags conversion, when we should check everywhere a place could be orphaned and remove the entry instead. Particular care should also be taken for moz_inputhistory removal when we remove from moz_places.

Adding some clarification, just in case. When a bookmark is removed currently we leave orphans behind and expect expiration to clean them up after a few minutes.
This has a few advantages from a perf point of view, but also leaves behind some privacy implications when expiration didn't run yet, and was mostly necessary when the bookmarks API was synchronous. Now the bookmarks API is async and can take care of its own orphans, so we can fix the orphans problem immediately.

Severity: normal → S3
Priority: P2 → P3
Whiteboard: [fxsearch] → [snt-scrubbed][places-performance]
You need to log in before you can comment on or make changes to this bug.