Page MenuHomePhabricator

WikiLambda: Replace direct usage of BagOStuff with WANObjectCache
Closed, ResolvedPublic

Description

Description

WikiLambdaZObjectStash is an instance of BagOStuff, used in all WikiLambda instances (repo, abstract and client instances), to store:

  • ZObjects: with key WikiLambdaObjectStorage:ZID
  • Results of embedded wikifunctions calls in client wikis: with key WikiLambdaClientFunctionCall:{"target"...
  • Results of function calls returned by the orchestrator to repo: with key WikiLambdaFunctionCall:Z7,Z7K1|Z27868,...
  • Results of abstract fragment render requests from abstract wiki: with key WikiLambdaAbstractFragment:qid|Q319,lang|Z1002,fragment|Z1K1|Z7,Z7K1

WANObjectCache was built to support the multi-DC initiative as a layer of constraints and best-practices in a multi-DC context.
Wikifunctions dedicated cache initially as local-DC no-replication configuration, and BagOStuff was sufficient.

For an improved cache architecture at Wikifunctions and for better traceability, we now require to remove direct use of BagOStuff and use the WANObjectCache wrapper.

Event Timeline

gengh updated the task description. (Show Details)

Change #1250574 had a related patch set uploaded (by Genoveva Galarza; author: Genoveva Galarza):

[mediawiki/extensions/WikiLambda@master] Replace direct BagOStuff with WANObjectCache

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

Change #1250574 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Replace direct BagOStuff with WANObjectCache

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

Change #1251487 had a related patch set uploaded (by Jforrester; author: Genoveva Galarza):

[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.19] Replace direct BagOStuff with WANObjectCache

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

Change #1251487 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.19] Replace direct BagOStuff with WANObjectCache

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

Mentioned in SAL (#wikimedia-operations) [2026-03-16T13:02:59Z] <jforrester@deploy2002> Started scap sync-world: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (T419666)]]

Mentioned in SAL (#wikimedia-operations) [2026-03-16T13:06:54Z] <jforrester@deploy2002> jforrester: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (T419666)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Jdforrester-WMF subscribed.

Back-ported. Caches are still split between eqiad and codfw, but we're now using the proper system.

Mentioned in SAL (#wikimedia-operations) [2026-03-16T13:14:24Z] <jforrester@deploy2002> Finished scap sync-world: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (T419666)]] (duration: 11m 25s)

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

[mediawiki/extensions/WikiLambda@master] Revert "Replace direct BagOStuff with WANObjectCache"

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

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

[operations/mediawiki-config@master] Wikifunctions: Switch cache from mcrouter-wikifunctions to basic

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

Tried this. Closing, although it wasn't the right approach and we will be following a different path going forward.

Change #1256431 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Replace WANObjectCache with new MemcachedWrapper concept

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

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

[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.21] Replace WANObjectCache with new MemcachedWrapper concept

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

Change #1261477 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.21] Replace WANObjectCache with new MemcachedWrapper concept

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

Mentioned in SAL (#wikimedia-operations) [2026-03-30T13:30:50Z] <jforrester@deploy1003> Started scap sync-world: Backport for [[gerrit:1264590|instrument(ReviseTone): record start of copyedit session (T419181)]], [[gerrit:1261477|Replace WANObjectCache with new MemcachedWrapper concept (T419666)]], [[gerrit:1262199|Fix match case for setting minute, week or month TTL on OrchestratorRequest (T421475)]]

Mentioned in SAL (#wikimedia-operations) [2026-03-30T13:32:33Z] <jforrester@deploy1003> jforrester, migr: Backport for [[gerrit:1264590|instrument(ReviseTone): record start of copyedit session (T419181)]], [[gerrit:1261477|Replace WANObjectCache with new MemcachedWrapper concept (T419666)]], [[gerrit:1262199|Fix match case for setting minute, week or month TTL on OrchestratorRequest (T421475)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can

Mentioned in SAL (#wikimedia-operations) [2026-03-30T13:40:24Z] <jforrester@deploy1003> Finished scap sync-world: Backport for [[gerrit:1264590|instrument(ReviseTone): record start of copyedit session (T419181)]], [[gerrit:1261477|Replace WANObjectCache with new MemcachedWrapper concept (T419666)]], [[gerrit:1262199|Fix match case for setting minute, week or month TTL on OrchestratorRequest (T421475)]] (duration: 09m 33s)

Change #1256432 merged by jenkins-bot:

[operations/mediawiki-config@master] Wikifunctions: Switch cache from mcrouter-wikifunctions to special access

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

Mentioned in SAL (#wikimedia-operations) [2026-03-30T13:42:02Z] <jforrester@deploy1003> Started scap sync-world: Backport for [[gerrit:1256432|Wikifunctions: Switch cache from mcrouter-wikifunctions to special access (T419666)]]

Mentioned in SAL (#wikimedia-operations) [2026-03-30T13:43:45Z] <jforrester@deploy1003> jforrester: Backport for [[gerrit:1256432|Wikifunctions: Switch cache from mcrouter-wikifunctions to special access (T419666)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

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

[operations/deployment-charts@master] mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache

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

Change #1269038 merged by jenkins-bot:

[operations/deployment-charts@master] mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache

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