Treat 3X increases in non-exempt GET reqs/sec that do master updates as a deploy blocker
Aside from ?action=rollback, Special:CentralAuth, Special:CentralAutoLogin (which will have special multi-DC CDN routing logic to treat GET like POST), we should not be seeing increases in these write patterns. An appropriate logstash query should be constructed, one that uses the DBPerformance channel. It should look for:
+channel:DBPerformance +http_method:GET +"writes <= 0" +"(actual: 1)"
... among other things.
- Make sure known things we want to exempt are in fact exempted in code (that is, they don't issue warnings to Logstash).
- Use redefineExpectations(…POST) instead of silence*() for post-send deferred updates. This means that such events are still logged but can be filtered out as needed. The rate of such events should be low, but does not have to be as low as the pre-send case.
- Emit statd metrics for requests that have unexpected DB_PRIMARY connections/writes
- Alert when too many such events happen (first violation per request)
Maybe in the future:
- Include DBPerformance pattern in the Scap monitoring query
- Include DBPerformance in the mediawiki-errors and mediawiki-new-errors dashboards.