test2.wikipedia.org is now configured to act as a client to wikidata.org. In order to show language links defined in the wikidata items, test2 needs to load revision content from wikidata.org's database. This is done in WikiPageEntityLookup::loadEntity(). In the $row parameter, this gets a row that contains fields from wikidata.org's revision table. It then calls Revision::getRevisionText( $row ) to fetch the revision's blob. But it fails for some unknown reason.
Example:
- Request: https://test2.wikipedia.org/wiki/New_York_City?action=purge
- LanguageLinkHandler::getEntityLinks() calls SiteLinkTable::getItemIdForLink(), and gets back the info that q60 is the item to look for.
- it then calls WikiPageEntityLookup::getEntity() to retrieve the entity object.
- WikiPageEntityLookup::getEntity queries wikidata.org's database to get the revision ID for item q60's latest revision.
- it gets rev_id=631469, old_text=DB://cluster25/316188, and old_flags=utf-8,gzip,external
- WikiPageEntityLookup::getEntity calls self::loadEntity()
- WikiPageEntityLookup::loadEntity calls Revision::getRevisionText on the row with old_text=DB://cluster25/316188, and old_flags=utf-8,gzip,external.
- Revision::getRevisionText returns false.
Chad tried this in eval.php, and it works. So, apparently, somehow fetching the revision blob from ES fails.
Version: wmf-deployment
Severity: major