tree abcd2393753ce8f0fd746ce10c5a7144956d0616
parent 8a1d5c110779c525257fe2305ba7a21ae6e969e6
author moz-wptsync-bot <wptsync@mozilla.com> 1533058840 -0400
committer jgraham <james@hoppipolla.co.uk> 1533058840 +0100

[Gecko Bug 1476053] Optimise wpt metadata updates (#12246)

The previous strategy for wpt metadata updates was to read add the
existing expected files, annotate them with the new results, compute
the resulting expectation file, and reserialize everything. This was
quite straighforward, but it has a number of disadvantages:

* Slow, since all expectation files need to be read and written, even
  when there were no changes affecting those files.
* Memory intensive, since we have to load all the results and the
  metadata at the same time, and little optimisation had been
  done. This could lead to OOM for large updates on some machines.
* Confusing, since parsing and reserializing files leads to changes in
  "unrelated" metadata

Instead we take the approach that we should only update the metadata
in cases where there are actually changes. Inteads of loading all the
expectation files, we do the following:

* Load all the results data into a large nested dictionary, keeping
  track of which results files had an update that requires
  regenerating metadata.

* Load/serialize metadata only in the cases it changed, and one at a
  time.

Loading all the data upfront is still necessary because we effectively
need to traspose the input data in cases where we have multiple
configurations running the same test (i.e. we get the data per run
and want the data for all runs per test). This approach also has the
disadvantage that it's more likely to miss a necessary update. However
the tradeoffs for better performance are still worthwhile.

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1476053
gecko-commit: fcf3f7f2079a3091f7f08df6987985d4acedeab8
gecko-integration-branch: central
gecko-reviewers: ato

* Enabling updating wpt metadata from wptreport.json files

Raw log files have the big disadvantage that they are large and we
therefore spend a lot of time just downloading the log files and
parsing json. wptreport.json files are much smaller and so reduce
these issues.

In order to support both formats, we first try parsing the log as
json. If that succeeds, and we have the expected keys, we parse it as
a wptreport file by reconstructing the events we would have got in a
raw log.

If that doesn't work we fall back to the standard raw log processing.

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1476053
gecko-commit: bfb7d92282e8ab7fa61ae3784b73d30d63cfb44f
gecko-integration-branch: central
gecko-reviewers: ato

* Handle invalid json in metadata updates

Sometimes we get errors that result in invalid json in the logs.
There's nothing reasonable to do about this during metadata updates
so just skip it

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1476053
gecko-commit: ab1b54921f26a02fb155b855a95ecffb94efe016
gecko-integration-branch: central
gecko-reviewers: ato