Closed Bug 1856611 Opened 3 years ago Closed 2 years ago

decision task spends a lot of time processing test manifests

Categories

(Firefox Build System :: Task Configuration, enhancement)

enhancement

Tracking

(firefox127 fixed)

RESOLVED FIXED
127 Branch
Tracking Status
firefox127 --- fixed

People

(Reporter: jlorenzo, Assigned: alphare33)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached image Flame graph - top.png —

Found by :jcristau, a few months ago.

Steps to reproduce

export GECKO_BASE_REPOSITORY='https://hg.mozilla.org/mozilla-unified'
export GECKO_BASE_REV='0c815dc63e9a91d8be7b69282a2ba480e9c16f11'
export GECKO_HEAD_REF='24f12f75ef9b9232009f6a41ab3ac81b7947a585'
export GECKO_HEAD_REPOSITORY='https://hg.mozilla.org/mozilla-central'
export GECKO_HEAD_REV='24f12f75ef9b9232009f6a41ab3ac81b7947a585'
export MOZ_AUTOMATION='1'
export PYTHONDONTWRITEBYTECODE='1'
export TASK_ID='O0wZGKHsT6mbUJEaPDl6FA'
export TASKCLUSTER_ROOT_URL='https://firefox-ci-tc.services.mozilla.com/'
export TASKCLUSTER_PROXY_URL='https://firefox-ci-tc.services.mozilla.com/'
  1. Download this parameters file.
  2. ./mach --profile-command taskgraph optimized -p ~/Downloads/parameters.yml
  3. python3 -m snakeviz mach_profile_taskgraph.cProfile

Expected results

Being a likely simple CPU-only operation, chunking tasks not be a major bottleneck.

Actual results

See attached flame graphs.

I didn't manage to dig further down. snakeviz reached its limits.

:alphare33 found we download the test manifest at every call. This patch[1] provides promising results.

[1] https://hg.mozilla.org/try/rev/96652ab87ac1d2e811578be9563633508b2c27e8

Assignee: nobody → alphare33
Summary: decision task spends a lot of time chunking raptor tasks → decision task spends a lot of time processing test manifests

Downloading the web platform tests manifest can be an expensive operation,
and the current code forces the download regardless of whether it's needed
or not.

Thankfully, the code for deciding if we need to (re-)download the manifest
is already in place, so removing the boolean is all that is needed.

The strategy to re-download is:

  • if any manifest file is missing
  • or if it's too old (given by the rebuild_time variable)
  • or if it's empty
Pushed by ahalberstadt@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7c86d89299af Don't force the download of the wpt manifest. r=ahal,jgraham
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: