Page MenuHomePhabricator

Update cached Parsoid output from RefreshLinksJob
Closed, DeclinedPublic

Description

Context:
RefreshLinksJob gets triggered when a dependency of rendered page output changes. So if page X links to page Y and uses template Z, RefreshLinksJob runs for page X if Z changes or when Y is created or deleted (to updated links from red to blue, or vice versa).

This currently only updates the "normal" parser cache. We also need to update the cached parsoid output. Ideally we should use the 'redlinks' pb2pb conversion when possible, to avoid full re-parses.

Side note: shouldn't RefreshLinksJob use PoolCounterWork?...

Details

Related Changes in Gerrit:

Event Timeline

daniel triaged this task as High priority.Jan 11 2023, 6:37 PM

Change 880532 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] RefreshLinksJob: Add parsoid cache warming

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

@Krinkle Just told me we should not do this.

Change 880532 abandoned by D3r1ck01:

[mediawiki/core@master] RefreshLinksJob: Add parsoid cache warming

Reason:

Per discussion with Daniel.

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

Declined because RefreshLinks job currently should not write to ParserCache, to preserve cache capacity. See T327162: RefreshLinksJob should update ParserCache.