As I pointed out in T191032, profiling was performed both for 'stash' and 'execute' modes, which meant that we got corrupted results: the percentage of matches was totally wrong and actions were recorded at least twice. However, by limiting profile to 'execute', we introduced another problem: a stashed edit isn't profiled. For "stashed edit" I mean that you edit the page and you save the same version which was stashed; check T176291#3667054 and T176291#4100964 for a bit of further explanation. From my POV it's much, much better to have stashed actions not profiled than to get corrupted statistics, but an optimal situation would have exactly one profiling record for each action, wherever it comes from.
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Re-execute checkAllFilters if the edit was stashed | mediawiki/extensions/AbuseFilter | master | +25 -1 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T209023 Major overhaul for AbuseFilter | |||
Open | None | T193064 Create a dedicated page for stats | |||
Open | None | T191428 Enhance filter profiling | |||
Resolved | Daimona | T191430 Re-enable profiling for stashed edits | |||
Resolved | Daimona | T191039 Re-enable filter profiling on every wiki | |||
Resolved | Daimona | T53294 Overhaul internal profiling system | |||
Open | None | T87862 Show AbuseFilter average run time and used conditions in main table | |||
Open | None | T90754 Allow tracking of max run time / conditions consumed in AbuseFilter | |||
Resolved | MusikAnimal | T177017 Re-enable per-filter profiling on wikis where it was disabled | |||
Resolved | • TBolliger | T177641 Enable AbuseFilter per-filter profiling on Portuguese Wikipedia & monitor if there is a performance impact | |||
Resolved | • TBolliger | T179323 Enable AbuseFilter per-filter profiling on English Wikipedia & monitor if there is a performance impact |
Event Timeline
Well, stats are still corrupted, although in a different way. This is the scheme of the situation, supposing to edit with a catch-all filter (where every value should be +1).
Legend: T = total actions, H = hits (the numbers in "of the last T actions, H matched...")
old version | current version | |
stashed edit | T:+1, H: +1 | T:+0, H: +1 |
fresh edit | T:+2, H: +1 | T:+1, H: +1 |
There's no need to revert and go back to the previous version, but this needs to be fixed anyway.
Change 423978 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] Re-execute checkAllFilters if the edit was stashed
Change 423978 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Re-execute checkAllFilters if the edit was stashed
Profiling is now back working and https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/AbuseFilter/+/455173/ will add tests to ensure it won't break again.