Allow optimizing by replacement existing (pending/unscheduled) cached tasks
Categories
(Firefox Build System :: Task Configuration, task)
Tracking
(firefox81 fixed)
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: Callek, Assigned: Callek)
References
(Blocks 2 open bugs)
Details
Attachments
(2 files)
We should allow depending on tasks from a prior push, specifically this solves the following situation a bit:
User A pushes a change to an early toolchain --> This triggers many other toolchains and docker image builds
10 minutes later User B pushes any other change, but is now waiting on that entire path from User A, and since nothing is done the taskgraph recreates and runs the entire set of toolchains/docker image builds that User A also triggered. Which adds more time that User B has to wait for results and adds extra cost.
We haven't pushed toolchain/docker image changes at that scale too often, so this has not been a priority, however over in Bug 1628981 we want to be able to depend on an already produced build in progress from a prior push in order to avoid an extra build on a test-only push.
This has the downside on UX for sheriffs in terms of being able to identify the situation, I've touched base with treeherder team and will be following up with sheriffs as well (I'll file that as a new bug)
Assignee | ||
Comment 1•5 years ago
|
||
Comment 3•5 years ago
|
||
Backed out for failing gecko decision task on attributes.rst
backout: https://hg.mozilla.org/integration/autoland/rev/1baff6edcc55d2d4c7d3ef3a32a282c4e74c1b62
failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=311467103&repo=autoland&lineNumber=3813
[task 2020-07-30T02:07:28.229Z] PERFHERDER_DATA: {"suites": [{"value": 0.30357109800024773, "name": "bugbug_push_schedules_time", "shouldAlert": false, "subtests": [], "lowerIsBetter": true}, {"value": 0, "name": "bugbug_push_schedules_retries", "shouldAlert": false, "subtests": [], "lowerIsBetter": true}], "framework": {"name": "build_metrics"}}
[task 2020-07-30T02:07:28.230Z] Traceback (most recent call last):
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/mach_commands.py", line 205, in taskgraph_decision
[task 2020-07-30T02:07:28.230Z] return taskgraph.decision.taskgraph_decision(options)
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/decision.py", line 251, in taskgraph_decision
[task 2020-07-30T02:07:28.230Z] full_task_json = tgg.full_task_graph.to_json()
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 163, in full_task_graph
[task 2020-07-30T02:07:28.230Z] return self._run_until('full_task_graph')
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 375, in _run_until
[task 2020-07-30T02:07:28.230Z] k, v = next(self._run)
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 290, in _run
[task 2020-07-30T02:07:28.230Z] self.verify_attributes(all_tasks)
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 406, in verify_attributes
[task 2020-07-30T02:07:28.230Z] appearing_as="heading"
[task 2020-07-30T02:07:28.230Z] File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/util/verify.py", line 135, in verify_docs
[task 2020-07-30T02:07:28.230Z] .format(appearing_as, identifier, filename)
[task 2020-07-30T02:07:28.230Z] Exception: heading:eager_index
missing from doc file:attributes.rst
[taskcluster 2020-07-30 02:07:29.704Z] === Task Finished ===
[taskcluster 2020-07-30 02:07:35.129Z] Unsuccessful task run with exit code: 1 completed in 254.501 seconds
Assignee | ||
Comment 5•5 years ago
|
||
![]() |
||
Comment 7•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/299d719022da
https://hg.mozilla.org/mozilla-central/rev/893df5ae4443
Assignee | ||
Updated•5 years ago
|
Comment 8•3 years ago
|
||
This is causing issues when the toolchain tasks fail on my try staging testing. I wonder if we can recreate the cached task if the existing indexed task has an exception or failure state.
Description
•