Cases1 case
1 to 1 of 1
- Symptoms
At 02:58 UTC on 31 March 2025, the sessionstore service in both Wikimedia data centres began returning 500 errors and edits failed. MediaWikiEditFailures (session loss) fired as critical at 03:03, and SessionStoreErrorRateHigh paged at 03:04.
- Trigger
A rise in session writes, made up of session overwrites at a high rate, filled the storage of the sessionstore Cassandra nodes. The review says the rollout of SUL3 correlates strongly with it.
- Root cause
- Component
- Contributing factor
- Detection
MediaWikiEditFailures (session loss) fired as critical at 03:03 UTC, and SessionStoreErrorRateHigh, a high 5xx rate alert, paged the batphone at 03:04. Users also reported the problem in task T390512.
- Remediation
- Wiped the sessionstore storage, removing all sessions, and restarted Cassandra
- Action items
- Page when the disk utilisation trend becomes unreasonable
- Increase sessionstore storage capacity
- Add namespacing to sessionstore
- Add observability of the sessionstore workload
- Identify the cause of the high rate of storage growth in sessionstore Cassandra
- Consider an alert, without paging, on the Cassandra error rate
- Consider paging or alerting when Cassandra nodes enter a down state
- Lessons
The storage growth before the node failures made their timing predictable, so an alert on high storage utilisation well in advance would have given a chance to act before users were affected, and an alert on Cassandra node failures would have told responders more than an HTTP error rate alert. A cluster seen as heavily over-provisioned can still grow quickly and unsustainably under an unusual workload.
This case involves Database. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.