Page MenuHomePhabricator

ChronologyProtector waits until timeout if EmptyBagOfStuff is used for cache.
Closed, ResolvedPublic

Description

Slowness reported in https://github.com/addshore/mediawiki-docker-dev/issues/57 and oncce investigated this ticket was created for searchability on phabricator.

LBFactory, $this->memStash = $conf['memStash'] ?? new EmptyBagOStuff();
If you have a master slave setup using $wgDBServers and no fancy load balancer config memStash is an EmptyBagOStuff
which causes the ChronologyProtector to get stuck in a wait loop waiting for a cache key in an EmptyBagOStuff
I guess something should behave slightly differently in there, perhaps this should be using CACHE_ANYTHING as a fallback instead of an empty bag

Event Timeline

Change 440262 had a related patch set uploaded (by Addshore; owner: Aaron Schulz):
[mediawiki/core@master] rdbms: disable ChronologyProtector if EmptyBagOStuff is used

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

Addshore assigned this task to aaron.
Addshore moved this task from Unsorted 💣 to Closing ✔️ on the User-Addshore board.

Change 440262 merged by jenkins-bot:
[mediawiki/core@master] rdbms: disable ChronologyProtector if EmptyBagOStuff is used

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

Vvjjkkii renamed this task from ChronologyProtector waits until timeout if EmptyBagOfStuff is used for cache. to d1aaaaaaaa.Jul 1 2018, 1:04 AM
Vvjjkkii reopened this task as Open.
Vvjjkkii removed aaron as the assignee of this task.
Vvjjkkii triaged this task as High priority.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed subscribers: gerritbot, Aklapper.
CommunityTechBot renamed this task from d1aaaaaaaa to ChronologyProtector waits until timeout if EmptyBagOfStuff is used for cache..Jul 2 2018, 7:03 AM
CommunityTechBot closed this task as Resolved.
CommunityTechBot assigned this task to aaron.
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot added subscribers: gerritbot, Aklapper.

I'm going to backport this, as @UlfrTheRed the red was just complaining about this issue on irc in MediaWiki 1.31

Change 446893 had a related patch set uploaded (by Brian Wolff; owner: Aaron Schulz):
[mediawiki/core@REL1_31] rdbms: disable ChronologyProtector if EmptyBagOStuff is used

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

Change 446893 merged by jenkins-bot:
[mediawiki/core@REL1_31] rdbms: disable ChronologyProtector if EmptyBagOStuff is used

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