If you use Treeherder on repositories that are not Try, you might have used the backfill action. The backfill action takes a selected task and schedules it nine pushes back from the selected task. You can see the original work here and the follow up here.
In the screenshot above you can see that the task
mdaturned orange (implying that it failed). In the screenshot we can see that a Mozilla code sheriff has both retriggered the task four more times (you can see four more running tasks on the same push) and has backfilled the task on previous pushes. This is to determine if the regression was introduced on previous pushes or if the failure is due to an intermittent test failure.
The difference with the old backfill action is threefold:
- The backfilled tasks include
-bkin their symbol and group and it includes the revision of the originating task that was backfilled
- The backfilled tasks schedule the same set of manifests as the starting task
backfillaction schedules a support action called
Modified symbol for backfilled tasks
The modified symbol and group name for backfilled tasks is to:
- Show that it is a backfilled task (rather than schedule by normal scheduling) and that it can have a modified set of manifests (see next section)
- Show from which task it was backfilled from (by including the revision)
- Group backfilled tasks together to make it clear that they were not scheduled by normal means
I’ve also landed a change on Treeherder to handle this new naming and allow to filter out normal tasks plus backfilled tasks.
Point number two from the above list is what changes the most. Soon we will be landing a change on
autoland that will schedule some test tasks with a dynamic set of manifests. This means that a task scheduled on push A will have a set of manifests (e.g. set X) and the same task on push B can have a different set of manifests (e.g. set Y).
The new backfill takes this into account by looking at the env variable
MOZHARNESS_TEST_PATHS which contains the list of manifests and re-uses that value on backfilled tasks. This ensures that we’re scheduling the same set of manifests in every backfilled task.
You can skip reading this section as this is more of an architectural change. This fixes the issue that backfilled tasks could not be re-run.
Backfilled tasks are now scheduled by a support action called
backfill-task. If on Treeherder we filter by
backfill tasks you can see both the initial
backfillaction and the
backfill has scheduled nine
backfill-task and those are in charge of scheduling the
mda task on that push.
Thanks for reading. Please file a bug and CC me if you notice anything going wrong with it.