Page MenuHomePhabricator

Handle large Wikidata entities more gracefully
Open, MediumPublic

Description

Description

Wikidata items that reference lots of other Wikidata items can run up against rate limits.

Local repro instructions (assuming that Orchestrator MR 250 has been merged or applied locally):

  • enable useWikidata
    • in src/db.js, ensure that the ReferenceResolver has useWikidata set to true
    • in the orchestrator params, ensure that useWikidata is set to true
  • point local wikidataUri to https://www.wikidata.org (also in orchestrator params?)
  • tighten the rate limit
    • in src/rateLimits.js, the default rate limit should be set to 100 or so
  • run the following function call (from the WikiLambda UI):
{
  'Z1K1': 'Z7',
  'Z7K1: 'Z801',
  'Z801K1': { 'Z1K1: 'Z6005', 'Z6005K1': 'L47' }
}

Options

See T426252: Spike: Characterise large-Wikidata-entity rate-limit failures in production, and recommend between verified-bit-on-ZWrapper vs. rate-limit-queue.

Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)

  • decide how to handle this (cf. options above)
  • make other Phabricator tasks as appropriate

Completion checklist

Event Timeline

DMartin-WMF set Final Story Points to 0.
Jdforrester-WMF renamed this task from Decision: Handle Large Wikidata Items More Gracefully to Make a decision on how to handle large Wikidata entities more gracefully.Nov 13 2024, 5:38 PM
Jdforrester-WMF triaged this task as High priority.

Downgrading: this hasn't been blocking users in practice as much as we feared at filing time. The option-comparison is moving to a child spike (T426252) and we'll re-evaluate priority based on its findings.