Page MenuHomePhabricator

Design strategy for updating MCS/PCS content
Closed, DeclinedPublic

Description

Reading infrastructure is developing a bunch of new endpoints to be used in mobile - media, references, summary, meta etc. All of these pieces of content will eventually use RESTBase storage and will be actively pregenerated meaning that the exact render of any revision can change at any time.

However, it the clients the pieces of content will be loaded on demand and all the pieces should reflect the same render (have the same revision/tid pair), but if change-prop updates all the pieces independently, the TIDs will be different and the apps will not be able to request a specific matching render. Mismatches can lead to broken references, incorrect galleries etc. This means we need to develop a way to update all of the endpoints in one request. I see a couple of ways:

  1. A no-cache request to mobile-sections also updates summaries, media and other PCS endpoints and stores all of them with the same TID
  2. We provide a TID in a header based on the timestamp of the event that initiated the rerender
  3. We create a composite endpoint that is called to update all the pieces together.

Event Timeline

Pchelolo created this task.Mar 14 2018, 7:31 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 14 2018, 7:31 PM
mobrovac triaged this task as High priority.Mar 16 2018, 4:20 PM
Pchelolo closed this task as Declined.Jul 31 2019, 9:27 PM

Given that matching TID for content pieces never became a requirement for the apps, we don't need to overcomplicate things here.