Page MenuHomePhabricator

Refactor PoolWorkArticleView to support caching of old revisions
Closed, ResolvedPublic

Description

PoolWorkArticleView currently only supports caching ParserOutput for a page's current revision to ParserOutput. To resolve T244058, it needs to be refactored to also support caching of output for an old revision.

There are three implementation options to explore:

  1. use subclasses to implement different behavior for current and old revisions
  2. inject callbacks to implement different behavior for current and old revisions
  3. implement different behavior for current and old revisions based on flags

Event Timeline

daniel created this task.
daniel moved this task from Backlog to Doing on the Platform Team Workboards (Green) board.

Change 640930 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] WIP: cache canonical ouput for old revisions

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

Change 641240 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] WIP: cache canonical ouput for old revisions

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

Change 640930 merged by jenkins-bot:
[mediawiki/core@master] Extract PoolWorlArticleViewCurrent

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

Change 641522 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] ParserOutputAccess: add metrics

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

Change 641523 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] PoolWorkArticleView: inject logger

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

daniel triaged this task as Medium priority.Nov 18 2020, 5:06 PM
daniel moved this task from Doing to Waiting for Review on the Platform Team Workboards (Green) board.

Change 641240 merged by jenkins-bot:
[mediawiki/core@master] ParserOutputAccess: cache ouput for old revisions

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

Change 641522 merged by jenkins-bot:
[mediawiki/core@master] ParserOutputAccess: add metrics

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

Change 641523 merged by jenkins-bot:
[mediawiki/core@master] PoolWorkArticleView: inject logger

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