Page MenuHomePhabricator

Remove in-process Memcached wrapper or find an appropriate solution for cross-DC world
Closed, ResolvedPublic

Description

If we're populating the cache from GET requests/slave DB, then that means we're not calling set in the POST requests. This will be a problem if we're reading the cache later in the POST request (not only will it not be in in-process cache, it won't be in memcached at all).

We need to find a solution to this.

Event Timeline

Mattflaschen-WMF updated the task description. (Show Details)
Mattflaschen-WMF raised the priority of this task from to Needs Triage.
Restricted Application added a project: Collaboration-Team-Triage. · View Herald TranscriptDec 1 2015, 7:24 PM
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald Transcript
Mattflaschen-WMF set Security to None.
Mattflaschen-WMF renamed this task from Remove in-process memcached wrapper or find an appropriate solution for cross-DC world to Remove in-process Memcached wrapper or find an appropriate solution for cross-DC world.
Catrope triaged this task as Normal priority.Dec 19 2015, 1:25 AM
Krinkle added a comment.EditedApr 6 2016, 10:54 PM

MediaWiki core and extensions use of objectcache has mostly been converted to embrace WANObjectCache. Part of its core design is that everything is slave-only. Primarily with performance, scalability and cross-DC in mind.

Given the wide range of use cases it has fulfilled thus far, I think it's unlikely Flow needs to use master during GET requests nor for populating caches.

It's a very different cache model to get used to (perspective of cache on get and purge on set, rather than cache on set and replicate). I'm happy to sit down and help map it to current Flow methods if you have any questions.

jmatazzoni added a subscriber: jmatazzoni.

Hi Stephane, Triage team believes this may be fixed by the thing you're working on. That's why it's assigned to you. Is that so?

Yes, we hope that is gong to be fixed at the same time as T120009: Flow: Use WAN cache delete() and slave populations to avoid merge(), which is the one I'm working on.

Krinkle removed a subscriber: Krinkle.
jmatazzoni closed this task as Resolved.Dec 14 2016, 8:29 PM