Page MenuHomePhabricator

Simplify MCS storage model
Closed, ResolvedPublic

Description

Currently mobile-sections-lead and mobile-sections-remaining are pre-rendered and stored in RESTBase sharing the Parsoid storage model when superseded renders are preserved in the storage for a grace_ttl period of time. This is done in order to be able to quickly serve a matching render of the remaining sections in case the page was edited while the user was reading the lead. However, it seems that the app doesn't actually provide the revision when requesting the remaining sections. Given that and the fact moble-sections are being replaced by PCS endpoints, we can simplify the storage model for MCS content and use a simple key-value semantics. This will greatly simplify the code and save on a lot of IO.

Event Timeline

Mentioned in SAL (#wikimedia-operations) [2019-04-16T20:23:15Z] <mobrovac@deploy1001> Started deploy [restbase/deploy@dfca9e6]: Use the simplified key/value bucket - T215960

Mentioned in SAL (#wikimedia-operations) [2019-04-16T20:43:07Z] <mobrovac@deploy1001> Finished deploy [restbase/deploy@dfca9e6]: Use the simplified key/value bucket - T215960 (duration: 19m 52s)

Mentioned in SAL (#wikimedia-operations) [2019-04-16T21:57:21Z] <mobrovac@deploy1001> Started deploy [restbase/deploy@f1c767d]: mobile-sections simplification: use the key/value bucket only - T215960

Mentioned in SAL (#wikimedia-operations) [2019-04-16T22:17:23Z] <mobrovac@deploy1001> Finished deploy [restbase/deploy@f1c767d]: mobile-sections simplification: use the key/value bucket only - T215960 (duration: 20m 02s)

The simplification code has been deployed without issues, and we have populated the new table with dumps for en, de, fr, it, es, pt, pl, ja and ru wikipedias. The last step here is to delete the old, unused keyspaces.