Page MenuHomePhabricator

Rust-based evaluator service should maintain a pool of ready executors
Closed, ResolvedPublic

Description

Description

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

  • multiple function execution requests can be run concurrently
    • in separate threads
  • function execution requests do not incur WASI startup time
    • there is a test enshrining this
  • function execution time should be less than in the current evaluator
    • there is a test enshrining this

Completion checklist

Details

Related Changes in Gerrit:
Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
Run executors in a pool via shared Axum state; run evaluation as async task.repos/abstract-wiki/wikifunctions/function-evaluator!390apineapine-threadsmain
Remove axum-test and rely on tower for testing.repos/abstract-wiki/wikifunctions/function-evaluator!388apineapine-towermain
Replace ExecutorWasiBuilder trait with functions.repos/abstract-wiki/wikifunctions/function-evaluator!387apineapine-no-genericsmain
Customize query in GitLab

Event Timeline

DSantamaria changed the task status from Open to In Progress.Aug 22 2025, 2:15 PM

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

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2025-08-26-213211 to 2025-09-03-123051

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

Change #1184517 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Upgrade evaluators from 2025-08-26-213211 to 2025-09-03-123051

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