Page MenuHomePhabricator

useless autopromotion at every request
Open, LowPublic

Description

AbuseFilter seems to be running quite expensive (relatively) autopromotion code for every request, that involves RPC:

 4.3        > AbuseFilterHooks::onGetAutoPromoteGroups
57.4         > memcached::get

0.000427 3.5 < memcached::get
0.000714 0.0 < AbuseFilterHooks::onGetAutoPromoteGroups

I suggest doing it only when 'expensive' checks are done (e.g. preview, save and editform).

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:52 PM
bzimport set Reference to bz20487.
bzimport added a subscriber: Unknown Object (MLST).

that's the consequence of calling $user->getEffectiveGroups() everywhere, which checks implicit groups and autopromotions. Shall we extendend getEffectiveGroups with a $notABigDeal parameter?

Change 635527 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] Performance: don't check autopromotion if blockautopromote is disabled

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

Change 635527 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Performance: don't check autopromotion if blockautopromote is disabled

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