Skip to content
This repository was archived by the owner on Nov 1, 2022. It is now read-only.
This repository was archived by the owner on Nov 1, 2022. It is now read-only.

History expiration strategy #1372

@grigoryk

Description

@grigoryk

Depends on ability to delete history. See #1373.

We have limited resources and potentially unlimited browsing history, especially considering syncing against very large profiles.

There are basically two reasons for expiring history:

  1. it's taking up too much disk space
  2. it's slowing down the browser - more history usually means slower queries that operate over history (like top sites, frecency calculations, etc)

We'll need to investigate both of these reasons. Questions:

  • what are the signals OS may send us regarding our disk usage, and how to interpret them? E.g. Fennec relies on ACTION_DEVICE_STORAGE_LOW to aggressively purge history records
  • what's the performance profile of our underlying HistoryStorage implementations vis-a-vis expensive queries such as frecency/top sites/etc? This will greatly vary depending on implementation, but probably just care about browser-storage-sync. cc @thomcc and @mhammond to comment on places lib.

For reference, Fennec has two types of automatic history cleanup:

  • on receiving ACTION_DEVICE_STORAGE_LOW intent, aggressively drop most history except for the last 500 or so visits
  • when Fennec is going into background, drop history outside of the "last 2-3 months" time window

┆Issue is synchronized with this Jira Task

Metadata

Metadata

Assignees

No one assigned

    Labels

    <storage>Concerning general browser storage

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions