Page MenuHomePhabricator

Devise stashing strategy for multi-DC mediawiki
Closed, ResolvedPublic

Description

Lots of things stash temporary values in places, e.g:

  • Upload chunk states
  • "Who is viewing this diff" in FlaggedRevs
  • OAuth tokens
  • AbuseFilter autopromote blocks
  • Captcha state info
  • more...

Event Timeline

aaron claimed this task.
aaron raised the priority of this task from to Medium.
aaron updated the task description. (Show Details)
aaron added subscribers: PleaseStand, gerritbot, bd808 and 2 others.

ApiStashEdit can be shared nothing (since it's all used on POSTs).

The others can use ReplicatedBagOStuff for now.

Holding off on this for now.

aaron edited projects, added Sustainability; removed Patch-For-Review.
aaron moved this task from Tag to Doing on the Sustainability board.

Change 207718 had a related patch set uploaded (by Aaron Schulz):
Added ObjectStash factory class and $wgMainStash/$wgObjectStashes

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

Change 207718 merged by jenkins-bot:
Added ObjectCache::getMainStashInstance() and $wgMainStash

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

Change 212584 had a related patch set uploaded (by Aaron Schulz):
Made ReplicatedBagOStuff wrapping the SQL class the default stash

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

Change 214107 had a related patch set uploaded (by Aaron Schulz):
Added BagOStuff READ_LATEST flag for replicated stores

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

Change 212584 merged by jenkins-bot:
Made ReplicatedBagOStuff wrapping the SQL class the default stash

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

Change 221885 had a related patch set uploaded (by Aaron Schulz):
Set $wgMainStash to redis instead of the DB default

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

New $wg variables need documentation in MediaWiki.org and Release Notes

Change 221889 had a related patch set uploaded (by Aaron Schulz):
Switched upload chunk status store to the main object stash

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

Change 221994 had a related patch set uploaded (by Aaron Schulz):
Conversion to using getMainStashInstance()

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

Change 221885 merged by jenkins-bot:
Set $wgMainStash to redis instead of the DB default

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

Change 221889 merged by jenkins-bot:
Switched upload chunk status store to the main object stash

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

Related task left are on T97620

Release Notes are still pending AFAIK. No patchset should be merged if it adds new config variables without mention in release notes

Documentation

Change 214107 merged by Aaron Schulz:
Added BagOStuff READ_LATEST flag for replicated stores

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