Skip to content

Fenix took 10 full minutes to sync my history collection #3176

@rfk

Description

@rfk

I have an install of Firefox Beta on my phone that I hadn't used in a while, but I recently wanted to use it for some debugging. It was still connected to my account, so on launching the app for the first time in several weeks, it had do a large sync in order to catch up to the other clients. The sync worked very well, but it took a surprisingly long time - fully ten minutes to sync the history collection, according to adb logs.

Is it expected that we should take this long to sync a collection? I'm on a Galaxy S8, so not the newest of phones, but no slouch.

I've uploaded a snippet of my adb logcat info here

  • basically all the log lines with "sync" or "places" in them, from the time history started syncing to the time it finished, starting at 18:05 and ending at 18:15. Some initial observations:
  • It tries to download 5000 history entries, which I guess is expected for a device that's been offline for several weeks.
  • It fetches the items from the server fairly quickly.
  • It then logs 529 instances of ChunkedCoopTransaction commiting after taking allocated time, taking 10 minutes to write out the changes to disk.
  • It also shows that browser autocomplete queries work and return quickly while this is happening, which is very nice!
  • After applying the items, it tries to upload some items of its own, but fails with a 412 Precondition Failed. Which fair enough, it's likely that another client wrote to the history collection in those 10 minutes.

Everything worked here as far as I can tell, I'm just really surprised it took such a long time.

┆Issue is synchronized with this Jira Task
┆Epic: Important backlog

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions