Closed Bug 1884014 Opened 1 year ago Closed 1 year ago

The Suggest Rust backend will stop serving suggestions for a while after a schema update

Categories

(Firefox :: Address Bar, defect, P1)

defect

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox123 --- unaffected
firefox124 --- wontfix
firefox125 --- fixed

People

(Reporter: adw, Assigned: adw)

References

Details

(Whiteboard: [sng])

Attachments

(1 file)

If you update Firefox and the new version contains a Suggest schema version update, the Suggest Rust component will delete your existing Suggest database, and desktop won't attempt to re-ingest until the ingest timer fires, which could take up to 24 hours. That means Suggest will stop serving suggestions entirely for up to 24 hours.

I found this by updating my Nightly today, and I think this is the cause of problems I saw in development where restarting a local build caused Suggest to stop serving suggestions until I forced it to ingest.

This modifies the Rust backend so it always ingests whenever it's enabled,
including on every startup.

Ideally we would test a schema update, but since the current schema version is
hardcoded Rust, I don't think that's possible.

Oof, yes, thanks for filing this! Android (bug 1863661) and iOS (where we have less granular control over when the ingestion task runs in the background) have the same problem.

See Also: → 1863661
Pushed by dwillcoxon@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/094dfde276e5 Make the Suggest Rust backend always ingest on startup. r=lina

For QA -- this can't really be manually exactly verified because it depends on a schema update occurring in the Suggest database, and that can't be done manually or simulated. The fix to this bug is that Firefox will always recreate the database on startup. So one way to kind of verify it is:

  1. Start Firefox
  2. Enable Suggest and verify that a Suggest suggestion can be triggered, e.g. a sponsored "amazon" suggestion (you might need to wait ~20s to give it time to ingest suggestions from remote settings)
  3. Quit
  4. Delete suggest.sqlite
  5. Restart Firefox and verify that a Suggest suggestion can be triggered again (after possibly waiting again for ingest to happen)

suggest.sqlite is stored in your profile's "local" (cache) directory. To find where that is, you can go to about:profiles, look under the profile you're using, and check "Local Directory". e.g. on Mac it will be /Users/<user>/Library/Caches/Firefox/Profiles/<profile>/suggest.sqlite

Flags: qe-verify+
Flags: in-testsuite+
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
Whiteboard: [sng]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: