The "throttle" action has been coded with some poor choices, which are now slowly coming up and producing errors. While all subtasks provide some information about what is wrong, the goal of this task is to coordinate such a delicate overhaul. Below is how I'd envision fixing this up, but any other thought will be highly appreciated.
Proposed workflow
- Merge this patch to avoid some tricky problems in new filters
- Merge the patch for T203336 to start reducing errors. The included maintenance script (which also covers T203585) has to be checked carefully, since it could potentially change many rows.
- Execute the above script in dry mode.
- Merge this patch to add it to update.php
- Use a new, safer syntax for throttle parameters (T203554) to avoid problems like the one with commas, the one resolved at point 1, and T203535.
- As in point 3., apply the devised deprecation process to the code related to old parameters.
- Wait a few MW releases (or less, to be decided during point 5), then remove all back-compat code.
Any proposed workflow (included the one above) should be carefully examined to avoid any error at any cost. The code already has enough problems without adding others. All but point 8 should really be addressed ASAP.
As for other subtasks not mentioned above: