Page MenuHomePhabricator

Implement system-wide overall request rate / resource consumption limits in the orchestrator
Closed, ResolvedPublic

Event Timeline

@Jdforrester-WMF what is the rationale for having a system-wide request-rate limit?

@Jdforrester-WMF what is the rationale for having a system-wide request-rate limit?

Security and SRE were worried about out-of-control processes in Wikifunctions adding significant load to the production machines (especially if e.g. the calls from the orchestrator to Wikifunctions.org's MW API, or Wikidata.org's, got into a runaway loop) and could imperil the overall cluster stability.

Check with Security if it is OK to simply use the Docker rate limits, instead of implementing our own solution. Contingent on that, moving this to nice to have.

James's estimated effort: 10+ days? Mostly blocked by tracking data about usage in the orchestrator.

Are there any updates on this? What resources we want to track, strategies for avoiding the runaway cases mentioned by James?

Are there any updates on this? What resources we want to track, strategies for avoiding the runaway cases mentioned by James?

This is mostly moot until we have external resources we're requesting (i.e. Wikidata and Commons); I suppose we could build it as-is for requests to Wikifunctions's wiki API for now?

In my mind we'd just have all requests go through a request proxy, either just using the existing network service (which I think we have to use anyway?) or more smartly some code inside the orchestrator which keeps a running track of request rates and rejects/slows down requests over some threshold?

Change #1289373 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] wikifunctions: Upgrade orchestrator from 2026-05-12-210548 to 2026-05-19-145724

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

Change #1289373 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Upgrade orchestrator from 2026-05-12-210548 to 2026-05-19-145724

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

Change #1300860 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] wikifunctions: Upgrade orchestrator from 2026-06-09-215338 to 2026-06-11-171152

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

Change #1300860 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Upgrade orchestrator from 2026-06-09-215338 to 2026-06-11-171152

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

Change #1302868 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (054c288)

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

Change #1303433 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2026-06-09-174730 to 2026-06-16-205705

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

Change #1303433 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2026-06-09-174730 to 2026-06-16-205705

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

Change #1303482 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2026-06-09-174730 to 2026-06-17-154210

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

Change #1303482 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2026-06-09-174730 to 2026-06-17-184727

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

Change #1302868 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (4583bb7)

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