Page MenuHomePhabricator

Switch function-orchestrator from hard-coded strings to using Z61/Programming language objects
Open, MediumPublic

Description

  • [Existing behaviour] When incoming requests reference a language (Z16K1) with a hard-coded string instead of a ZID, match to the correct evaluator in ORCHESTRATOR_CONFIG and pass the request down to it.
  • [New] When incoming requests reference a language (Z16K1) with a ZID, match to the correct evaluator in ORCHESTRATOR_CONFIG and pass the request down to it; test that both work equally.
  • [Once the MediaWiki stack only emits ZIDs] Drop tests for correctly processing based on a string instead of a ZID.

Event Timeline

Change 909312 had a related patch set uploaded (by Cory Massaro; author: Cory Massaro):

[mediawiki/services/function-orchestrator@master] Dereference programming language if supplied as reference.

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

Change 909311 had a related patch set uploaded (by Cory Massaro; author: Cory Massaro):

[mediawiki/extensions/WikiLambda@master] Change programming language literals in some tests to references.

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

Change 909312 merged by jenkins-bot:

[mediawiki/services/function-orchestrator@master] Dereference programming language if supplied as reference.

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

Change 909311 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Change programming language literals in some tests to references.

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

Current status: we think we've seen this configuration/routing fail either or both in Beta and Prod so we need to verify which/where and why, then how.

TODOs:

  • should be set in Beta and Prod but seems to fail sporadically?
  • we're not sure if it is buggy from the orchestrator
  • create test invariants? have them use references (instead of literals)
  • ask Elena (correct person?) to test references and strings in Prod env

Updates:

  • Beta is not a trustworthy companion; some calls (with Z61's and strings) succeed, some don't, we will never know why
  • Prod seems fine (yay?)

Next TODO:

  • regardless of 'successful' result from Beta or Prod, this doesn't actually tell us if Orch is truly routing the Z61 refs appropriately bc we are mocking this behavior kind of.
  • in order to know for sure, we need testing in the orchestrator

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

[operations/deployment-charts@master] wikifunctions: Configure supported evaluator languages with ZIDs

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

Change #1190318 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Configure supported evaluator languages with ZIDs

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