Skip to content

packagekit: only load distro upgrades after the appstream pool was opened

Harald Sitter requested to merge work/sitter/distroperf into master

this was a fairly illusive performance issue where sometimes discover would noticably lock up just after starting. subsequent starts would then behave normally.

as it turns out there's a race between pool loading and querying the distro upgrades. the supposed result of which is that if the query runs first it hast to blockingly open the apstream cache, thereby undoing all the async loading improvements we've made to the actual load call.

to prevent this problem we now track if the pool has been loaded and only fetch distro upgrades after that has definitely happened.

Merge request reports