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 raised the priority of this task from to Needs Triage.
Mattflaschen-WMF updated the task description. (Show Details)
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald Transcript
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.Dec 1 2015, 7:24 PM
Mattflaschen-WMF set Security to None.

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 subscribed.

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 replica-based filling to avoid merge(), which is the one I'm working on.