⚓ T419666 WikiLambda: Replace direct usage of BagOStuff with WANObjectCache
Page Menu
Phabricator
Create Task
Maniphest
T419666
WikiLambda: Replace direct usage of BagOStuff with WANObjectCache
Closed, Resolved
Public
Actions
Edit Task
Edit Related Tasks...
Create Subtask
Edit Parent Tasks
Edit Subtasks
Merge Duplicates In
Close As Duplicate
Edit Related Objects...
Edit Commits
Edit Mocks
Mute Notifications
Protect as security issue
Assigned To
gengh
Authored By
gengh
Mar 11 2026, 9:04 AM
2026-03-11 09:04:42 (UTC+0)
Tags
WikiLambda
Essential-Work
Abstract Wikipedia team (26Q3 (Jan–Mar))
(Needs Sign-off)
Abstract Wikipedia
MW-1.46-notes (1.46.0-wmf.21; 2026-03-24)
Referenced Files
None
Subscribers
gengh
Jdforrester-WMF
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.
Details
Related Changes in Gerrit:
Subject
Repo
Branch
Lines +/-
mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache
operations/deployment-charts
master
+30
-0
Wikifunctions: Switch cache from mcrouter-wikifunctions to special access
operations/mediawiki-config
master
+15
-8
Replace WANObjectCache with new MemcachedWrapper concept
mediawiki/extensions/WikiLambda
wmf/1.46.0-wmf.21
+393
-177
Replace WANObjectCache with new MemcachedWrapper concept
mediawiki/extensions/WikiLambda
master
+393
-177
Replace direct BagOStuff with WANObjectCache
mediawiki/extensions/WikiLambda
wmf/1.46.0-wmf.19
+43
-381
Replace direct BagOStuff with WANObjectCache
mediawiki/extensions/WikiLambda
master
+103
-104
Customize query in gerrit
Related Objects
Search...
Task Graph
Mentions
Status
Subtype
Assigned
Task
Resolved
BUG REPORT
gengh
T405461
Embedded function calls getting stuck showing "Function being called..." instead of result, due to (?) split-brain cache problem
Resolved
Jdforrester-WMF
T411807
WF memcached service is dc-local but used for dc-global content
Resolved
gengh
T419666
WikiLambda: Replace direct usage of BagOStuff with WANObjectCache
Mentioned In
T421475: OrchestratorRequest: fails setting ttl with UnhandledMatchError
T419181: Update and Restart Revise Tone Experiment
Mentioned Here
T419181: Update and Restart Revise Tone Experiment
T421475: OrchestratorRequest: fails setting ttl with UnhandledMatchError
Event Timeline
gengh
created this task.
Mar 11 2026, 9:04 AM
2026-03-11 09:04:42 (UTC+0)
gengh
claimed this task.
Mar 11 2026, 9:22 AM
2026-03-11 09:22:53 (UTC+0)
gengh
updated the task description.
(Show Details)
gerritbot
added a comment.
Mar 11 2026, 1:11 PM
2026-03-11 13:11:01 (UTC+0)
Comment Actions
Change #1250574 had a related patch set uploaded (by Genoveva Galarza; author: Genoveva Galarza):
[mediawiki/extensions/WikiLambda@master] Replace direct BagOStuff with WANObjectCache
gerritbot
added a project:
Patch-For-Review
Mar 11 2026, 1:11 PM
2026-03-11 13:11:02 (UTC+0)
Jdforrester-WMF
triaged this task as
High
priority.
Mar 11 2026, 1:27 PM
2026-03-11 13:27:22 (UTC+0)
Jdforrester-WMF
added a parent task:
T411807: WF memcached service is dc-local but used for dc-global content
Jdforrester-WMF
edited projects, added
Essential-Work
Abstract Wikipedia team (26Q3 (Jan–Mar))
; removed
Abstract Wikipedia team
Jdforrester-WMF
changed the task status from
Open
to
In Progress
Mar 11 2026, 1:29 PM
2026-03-11 13:29:40 (UTC+0)
Jdforrester-WMF
moved this task from
Incoming
to
In Code review
on the
Abstract Wikipedia team (26Q3 (Jan–Mar))
board.
gerritbot
added a comment.
Mar 13 2026, 5:15 PM
2026-03-13 17:15:52 (UTC+0)
Comment Actions
Change #1250574
merged
by jenkins-bot:
[mediawiki/extensions/WikiLambda@master] Replace direct BagOStuff with WANObjectCache
gerritbot
added a comment.
Mar 13 2026, 5:16 PM
2026-03-13 17:16:58 (UTC+0)
Comment Actions
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
Jdforrester-WMF
moved this task from
In Code review
to
Ready to deploy
on the
Abstract Wikipedia team (26Q3 (Jan–Mar))
board.
Mar 13 2026, 5:20 PM
2026-03-13 17:20:01 (UTC+0)
ReleaseTaggerBot
added a project:
MW-1.46-notes (1.46.0-wmf.20; 2026-03-17)
Mar 13 2026, 6:00 PM
2026-03-13 18:00:35 (UTC+0)
gerritbot
added a comment.
Mar 16 2026, 1:02 PM
2026-03-16 13:02:36 (UTC+0)
Comment Actions
Change #1251487
merged
by jenkins-bot:
[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.19] Replace direct BagOStuff with WANObjectCache
Stashbot
added a comment.
Mar 16 2026, 1:03 PM
2026-03-16 13:03:00 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-16T13:02:59Z] Started scap sync-world: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (
T419666
)]]
Stashbot
added a comment.
Mar 16 2026, 1:06 PM
2026-03-16 13:06:55 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-16T13:06:54Z] jforrester: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (
T419666
)]] synced to the testservers (see
). Changes can now be verified there.
Jdforrester-WMF
moved this task from
Ready to deploy
to
Needs Sign-off
on the
Abstract Wikipedia team (26Q3 (Jan–Mar))
board.
Mar 16 2026, 1:07 PM
2026-03-16 13:07:54 (UTC+0)
Jdforrester-WMF
subscribed.
Comment Actions
Back-ported. Caches are still split between eqiad and codfw, but we're now using the proper system.
Stashbot
added a comment.
Mar 16 2026, 1:14 PM
2026-03-16 13:14:25 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-16T13:14:24Z] Finished scap sync-world: Backport for [[gerrit:1251487|Replace direct BagOStuff with WANObjectCache (
T419666
)]] (duration: 11m 25s)
Maintenance_bot
removed a project:
Patch-For-Review
Mar 16 2026, 1:32 PM
2026-03-16 13:32:05 (UTC+0)
ReleaseTaggerBot
edited projects, added
MW-1.46-notes (1.46.0-wmf.19; 2026-03-10)
; removed
MW-1.46-notes (1.46.0-wmf.20; 2026-03-17)
Mar 16 2026, 2:00 PM
2026-03-16 14:00:41 (UTC+0)
gerritbot
added a comment.
Mar 20 2026, 4:21 PM
2026-03-20 16:21:10 (UTC+0)
Comment Actions
Change #1256431 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/extensions/WikiLambda@master] Revert "Replace direct BagOStuff with WANObjectCache"
gerritbot
added a project:
Patch-For-Review
Mar 20 2026, 4:21 PM
2026-03-20 16:21:11 (UTC+0)
gerritbot
added a comment.
Mar 20 2026, 4:23 PM
2026-03-20 16:23:52 (UTC+0)
Comment Actions
Change #1256432 had a related patch set uploaded (by Jforrester; author: Jforrester):
[operations/mediawiki-config@master] Wikifunctions: Switch cache from mcrouter-wikifunctions to basic
gengh
added a comment.
Mar 23 2026, 10:27 AM
2026-03-23 10:27:25 (UTC+0)
Comment Actions
Tried this. Closing, although it wasn't the right approach and we will be following a different path going forward.
gengh
closed this task as
Resolved
Mar 23 2026, 10:27 AM
2026-03-23 10:27:37 (UTC+0)
gerritbot
added a comment.
Wed, Mar 25, 2:31 PM
2026-03-25 14:31:46 (UTC+0)
Comment Actions
Change #1256431
merged
by jenkins-bot:
[mediawiki/extensions/WikiLambda@master] Replace WANObjectCache with new MemcachedWrapper concept
ReleaseTaggerBot
edited projects, added
MW-1.46-notes (1.46.0-wmf.22; 2026-03-31)
; removed
MW-1.46-notes (1.46.0-wmf.19; 2026-03-10)
Wed, Mar 25, 3:00 PM
2026-03-25 15:00:31 (UTC+0)
gerritbot
added a comment.
Thu, Mar 26, 3:10 PM
2026-03-26 15:10:08 (UTC+0)
Comment Actions
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
gerritbot
added a comment.
Mon, Mar 30, 1:30 PM
2026-03-30 13:30:32 (UTC+0)
Comment Actions
Change #1261477
merged
by jenkins-bot:
[mediawiki/extensions/WikiLambda@wmf/1.46.0-wmf.21] Replace WANObjectCache with new MemcachedWrapper concept
Maintenance_bot
added a project:
Abstract Wikipedia
Mon, Mar 30, 1:30 PM
2026-03-30 13:30:51 (UTC+0)
Stashbot
mentioned this in
T419181: Update and Restart Revise Tone Experiment
Mon, Mar 30, 1:30 PM
2026-03-30 13:30:51 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-30T13:30:50Z] 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
)]]
Stashbot
mentioned this in
T421475: OrchestratorRequest: fails setting ttl with UnhandledMatchError
Mon, Mar 30, 1:30 PM
2026-03-30 13:30:55 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-30T13:32:33Z] 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
). Changes can
Stashbot
added a comment.
Mon, Mar 30, 1:40 PM
2026-03-30 13:40:27 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-30T13:40:24Z] 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)
gerritbot
added a comment.
Mon, Mar 30, 1:41 PM
2026-03-30 13:41:44 (UTC+0)
Comment Actions
Change #1256432
merged
by jenkins-bot:
[operations/mediawiki-config@master] Wikifunctions: Switch cache from mcrouter-wikifunctions to special access
Stashbot
added a comment.
Mon, Mar 30, 1:42 PM
2026-03-30 13:42:03 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-30T13:42:02Z] Started scap sync-world: Backport for [[gerrit:1256432|Wikifunctions: Switch cache from mcrouter-wikifunctions to special access (
T419666
)]]
Maintenance_bot
removed a project:
Patch-For-Review
Mon, Mar 30, 1:43 PM
2026-03-30 13:43:32 (UTC+0)
Stashbot
added a comment.
Mon, Mar 30, 1:43 PM
2026-03-30 13:43:47 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-operations)
[2026-03-30T13:43:45Z] jforrester: Backport for [[gerrit:1256432|Wikifunctions: Switch cache from mcrouter-wikifunctions to special access (
T419666
)]] synced to the testservers (see
). Changes can now be verified there.
ReleaseTaggerBot
edited projects, added
MW-1.46-notes (1.46.0-wmf.21; 2026-03-24)
; removed
MW-1.46-notes (1.46.0-wmf.22; 2026-03-31)
Mon, Mar 30, 2:00 PM
2026-03-30 14:00:56 (UTC+0)
gerritbot
added a comment.
Wed, Apr 8, 6:33 PM
2026-04-08 18:33:31 (UTC+0)
Comment Actions
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
gerritbot
added a project:
Patch-For-Review
Wed, Apr 8, 6:33 PM
2026-04-08 18:33:32 (UTC+0)
gerritbot
added a comment.
Wed, Apr 8, 6:52 PM
2026-04-08 18:52:57 (UTC+0)
Comment Actions
Change #1269038
merged
by jenkins-bot:
[operations/deployment-charts@master] mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache
Maintenance_bot
removed a project:
Patch-For-Review
Wed, Apr 8, 7:32 PM
2026-04-08 19:32:10 (UTC+0)
Log In to Comment
Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct.
Wikimedia Foundation
Code of Conduct
Disclaimer
CC-BY-SA
GPL
Credits