Page MenuHomePhabricator

Make ORES-consuming pages more robust to ORES errors
Closed, ResolvedPublic

Description

All pages hooked by Extension:ORES need to be robust to any type of ORES failure, short of a PHP fatal error. We should gracefully degrade functionality, removing ORES features if they are broken or unavailable.

Handle:

  • Thresholds response contains a null.
  • Thresholds response malformed in an unexpected way.
  • ORES service is unreachable.
  • ORES service returns a 500.

Must have tests covering these cases.

Event Timeline

Change 393373 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/ORES@master] Warn instead of throwing error in case threshold is unparseable

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

Change 393373 merged by jenkins-bot:
[mediawiki/extensions/ORES@master] Warn instead of throwing error in case threshold is unparseable

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

Change 393660 had a related patch set uploaded (by Awight; owner: Amir Sarabadani):
[mediawiki/extensions/ORES@wmf/1.31.0-wmf.8] Warn instead of throwing error in case threshold is unparseable

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

Change 393660 merged by jenkins-bot:
[mediawiki/extensions/ORES@wmf/1.31.0-wmf.8] Warn instead of throwing error in case threshold is unparseable

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

Mentioned in SAL (#wikimedia-operations) [2017-11-27T21:23:38Z] <awight@tin> Synchronized php-1.31.0-wmf.8/extensions/ORES: ORES error handling for bad thresholds, T181191 (duration: 00m 46s)

Confirmed that we also handle the following situation correctly:

  • ORES service is unreachable
  • threshold cache key is cleared or expires
  • Reload Special:RecentChanges