{"push_id":999456688,"size":1,"distinct_size":1,"ref":"refs/heads/wmf/1.27.0-wmf.14","head":"8c938e4e64f4d6b1f45e7cbdf661677dd21779c1","before":"7a486cd6514e99d75036bc7a8494f075ac6dc823","commits":[{"sha":"8c938e4e64f4d6b1f45e7cbdf661677dd21779c1","author":{"email":"89190306daddb2fd482e1c83d0b8cc9d88698320@gmail.com","name":"Gergő Tisza"},"message":"Cache user data in memory\n\nStores user data looked up in WAN cache in memory so that lookups in the\nsame request do not result in new memcached lookups.\n\nQuick and dirty solution, but nicer ones are more difficult:\n* no idea what replacing WANObjectCache::get/set with getWithSetCallback\n  (which has its own in-process cache) would do, the code is complex\n  and completely different\n* would be nice to wrap the logic into a proxy object (like CachedBagOStuff)\n  but WANObjectCache calls set() internally (and marks it final), so\n  inheriting is not safe; the interface and implementation should be\n  separated, and that means updating all external callers which do a type\n  check.\n* ObjectCache::getInstance('hash') cannot be used because it has no\n  item limit and this could eat up the memory with a script that iterates\n  through lots of users\n\nThe patch does not attempt to replicate tombstoning for\nUser::clearSharedCache('refresh').\n\nBased on Iec1504700a and Idef9a9d3.\n\nChange-Id: I419f356b0c306d16711b433da95dccdb44645154\nCo-Authored-By: Ori Livneh <ori@wikimedia.org>\nBug: T128157\n(cherry picked from commit 9c733318107e26644fec33430e9712e51b022ad2)","distinct":true,"url":"https://api.github.com/repos/wikimedia/mediawiki/commits/8c938e4e64f4d6b1f45e7cbdf661677dd21779c1"}]}