As suggested in T164505#3237739 and following comments, Echo should use a purge-on-write, cache-from-slave WANCache approach to caching, rather than its current recache-on-write strategy. This is probably necessary to make Echo work in a multi-DC environment, and will also address T164505: Read queries detected on the x1 master by Echo extension more fully.
|mediawiki/extensions/Echo : master||NotifUser: Remove basically-unused talk notification cache|
|mediawiki/extensions/Echo : master||[WIP] Make "echo-new-talk-notification" key use getWithSetCallback()|
|mediawiki/extensions/Echo : master||NotifUser: Redo caching strategy for multi-DC compatibility|
|mediawiki/extensions/Echo : master||CachedList: Use getWithSetCallback()|
|Open||aaron||T88445 MediaWiki active/active datacenter investigation and work (tracking)|
|Resolved||Catrope||T164860 Update Echo's caching strategy for multi-dc compatibility|
These patches fix most of the issue, but there's still one left: flagCacheWithNewTalkNotification() and flagCacheWithNoTalkNotification() still call WANObjectCache::set(). It's a lot harder to figure out what that cache key actually means (and what the set callback for this key would look like), so I'm going to come back to this a little later.