mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Linter
synced 2024-11-23 15:36:52 +00:00
201b47e01d
* The code now produces an accurate count if the number of errors for a category is below the threshold set by a public constant MAX_ACCURATE_COUNT (currently 20). The database record count limit was originally set to 1, to determine accurately, if there were actually 0 errors in a category as the estimate code would never report 0. If not 0, it would use the estimated count which does not produce an accurate count for any other number of errors. For low error counts this is annoying to editors and unnecessary. The additional CPU/disk activity to accurately check for low error counts is not significantly more than checking for 0 or 1, as checking for 0 likely requires a complete table scan which is probably expensive compared to a low count that early outs when it hits to record limit. * An improvement to consider is recording the accurate count in a separate tiny table, and maintaining an accurate count there which is used in preference to doing the select with row limit based on say a 30 second TTL, to prevent a stampede of requests from doing extraneous database operations. * Added unit test coverage for accurately counting low error conditions that are lower than the threshold and also verify that the estimate is inaccurate beyond the error count threshold. Bug: T194872 Change-Id: I4f74cfe3bf9601baa0dc8fa6464a68030ac2bc4b |
||
---|---|---|
.. | ||
unit | ||
CategoryMessagesTest.php | ||
DatabaseTest.php | ||
RecordLintJobTest.php | ||
SpecialLintErrorsTest.php |