Page MenuHomePhabricator

Create Rate Limit in Evaluator/Orchestrator
Closed, ResolvedPublic

Description

Description

Since a single orchestration event can occasion multiple calls to the evaluator, we should rate limit how many calls a single orchestrator call can make to the evaluator at once.

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

  • add x-request-id to Avro schema
  • populate Avro-serialized evaluator request with req[ 'x-request-id' ]
  • advance Avro schema version in orchestrator
  • limit simultaneous calls for a single request ID in the evaluator
  • limit simultaneous calls to execute for a single request ID in the orchestrator

Completion checklist

Details

TitleReferenceAuthorSource BranchDest Branch
Update function-schemata sub-module to HEAD (5f40813)repos/abstract-wiki/wikifunctions/function-evaluator!29jforrestersync-function-schematamain
Update function-schemata sub-module to HEAD (5f40813)repos/abstract-wiki/wikifunctions/wikilambda-cli!12jforrestersync-function-schematamain
Add rate limiter in the evaluator.repos/abstract-wiki/wikifunctions/function-evaluator!23apineapine-rate-limitmain
BREAKING CHANGE: Update function-schemata sub-module to HEAD (63aa93e)repos/abstract-wiki/wikifunctions/function-orchestrator!35apineapine-sync-function-schematamain
Limit call stack size in the orchestrator when the number of operations associated with a single function call exceeds a threshold.repos/abstract-wiki/wikifunctions/function-orchestrator!34apineapine-rate-limitmain
Add errors for rate limits in backend services.repos/abstract-wiki/wikifunctions/function-schemata!19apineapine-rate-limitsmain
Update function-schemata sub-module to HEAD (19f2a6d)repos/abstract-wiki/wikifunctions/wikilambda-cli!10jforrestersync-function-schematamain
Update function-schemata sub-module to HEAD (19f2a6d)repos/abstract-wiki/wikifunctions/function-evaluator!21apinesync-function-schematamain
Update function-schemata sub-module to HEAD (19f2a6d)repos/abstract-wiki/wikifunctions/function-orchestrator!28apinesync-function-schematamain
Advance Avro schema version to 0.0.5 and Add request-id to Invariantsrepos/abstract-wiki/wikifunctions/function-orchestrator!26apineapine-request-idmain
Add requestID to Avro schema.repos/abstract-wiki/wikifunctions/function-schemata!16apineapine-serializationmain
Show related patches Customize query in GitLab

Event Timeline

cmassaro renamed this task from Create Rate Limit in Evaluator to Create Rate Limit in Evaluator/Orchestrator.Jun 14 2023, 12:35 PM
cmassaro claimed this task.
cmassaro updated the task description. (Show Details)

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

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

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

Change 931651 merged by jenkins-bot:

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

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

apine opened https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/34

Draft: Rate-limit in the orchestrator when the number of operations tied to a single function call exceeds a threshold.

kindrobot merged https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/34

Limit call stack size in the orchestrator when the number of operations associated with a single function call exceeds a threshold.

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

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

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

Change 938017 merged by jenkins-bot:

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

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