FlaggedRevs intercepts stable revision pageviews and stores ParserOutput in the ParserCache under a different key than the latest revisions. APIs on the other hand will use RevisionOutputCache, which will cause duplicated parsing work and lower cache hit rates. We want to fix this for at least the mapdata API, since we know it will be called for every page with a map.
Quick fix
- Add code to the mapdata API to switch to the FlaggedRevs cache for stable pages.
Proper fix
- Add a new hook to ParserOutputAccess to allow extensions to provide a ParserOutput when appropriate.
- Implement this hook in FlaggedRevs, to provide stable-pcache content if it exists and store there after parsing.