[go: up one dir, main page]

Page MenuHomePhabricator

Cache the results of testers for implementations and fetch from MW, rather than executing them on each page load
Closed, ResolvedPublic

Description

We can probably just store them in a table, perhaps:

  • function ZID
  • implementation ZID
  • implementation revision
  • tester ZID
  • tester revision
  • result bool
  • result details (full returned JSON object, with e.g. timing data or failure reason)

This way we can quickly index on passing/not passing, and when the implementation or tester is edited we can dump the old data once the new revision has an updated result. I don't think we'd need to expose the tester meta-data (e.g. how fast it ran) in a query – "show me all tests that took longer than 100ms" or whatever can be an offline query, doesn't need to be a production feature.

Event Timeline

Change 819176 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikiLambda@master] [WIP] Cache results of ZTester runs in MW's DB

https://gerrit.wikimedia.org/r/819176

These cache results should also be displayed wherever test results are being displayed in the front end, instead of live running them. (This can be moved to a task of its own)

Change 819176 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Cache results of ZTester runs in MW's DB

https://gerrit.wikimedia.org/r/819176

These cache results should also be displayed wherever test results are being displayed in the front end, instead of live running them. (This can be moved to a task of its own)

Theoretically this should now be the case.

Yes, it is the case. Closing.