Track dependencies for multiple Content objects per page
Open, Needs TriagePublic

Description

Implement T190063: Tracking dependencies for multiple Content objects per page (MCR) as approved:

When running links updates (after an edit, etc)

  1. for each slot, construct a dedicated ParserOutput, and also a ParserOutput for the combined output.
  2. merge the link tracking information from all slots's ParserOutput into a combined ParserOutput.
  3. run LinksUpdate with the combined output.
  4. run all other DataUpdates queued by Content objects with only their own Content/ParserOutput.

This means LinksUpdate will see all aggregated information like before, but newly introduced DataUpdates from non-main slots see only their own, unless they explicitly access or transclude other slots.

Rationale: This approach preserves the maximum of information, and is easy to implement. The fact that it may lead to extraneous data tracking and spurious purging of the parser cache does not seem relevant in the light of the currently targeted use cases. This issue should be revisited in the context of the creation of an entirely new mechanism for tracking dependencies of generated artifacts for purging.

daniel created this task.May 7 2018, 12:50 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMay 7 2018, 12:50 PM

Change 418075 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR][WIP] Replace calls to Content::getSecondaryDataUpdates

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

Restricted Application added a project: Wikidata. · View Herald TranscriptMay 8 2018, 2:52 PM

Change 418075 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR][DNM] Replace calls to Content::getSecondaryDataUpdates

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

Ladsgroup moved this task from incoming to monitoring on the Wikidata board.Jun 28 2018, 3:38 PM
Vvjjkkii renamed this task from Track dependencies for multiple Content objects per page to ehdaaaaaaa.Jul 1 2018, 1:11 AM
Vvjjkkii triaged this task as High priority.
Vvjjkkii removed daniel as the assignee of this task.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed subscribers: gerritbot, Aklapper.
CommunityTechBot assigned this task to daniel.
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot renamed this task from ehdaaaaaaa to Track dependencies for multiple Content objects per page.
CommunityTechBot added subscribers: gerritbot, Aklapper.