Cases2 cases
1 to 2 of 2
- Symptoms
From 21:08 on 28 May 2025, about 60 indices of Wikimedia's OpenSearch clusters for CirrusSearch were in red, unwritable state. At 21:27 CirrusStreamingUpdaterFlinkJobUnstable alerts began to fire because the search update pipeline could not write to those indices.
- Trigger
A Puppet patch that removed cluster access for the hosts elastic/cirrussearch10[53-67] while some of them still held primary shards.
- Root cause
- Component
- Contributing factor
- Detection
CirrusStreamingUpdaterFlinkJobUnstable alerts fired from 21:27; the review records the detection as human, by the engineer who started troubleshooting the next morning, and many other alerts were suppressed for maintenance.
- Remediation
- Deleted the red indices, which brought the cluster back to green
- Restored the broken indices
- Action items
- Re-enable the snapshot repositories in production CirrusSearch
- Create an operations-focused OpenSearch dashboard
- Verify or fix the Logstash pipeline for Search Platform-owned OpenSearch clusters
- Lessons
Banning nodes before removing them is a best-effort action and did not work as expected. A large operation such as decommissioning many servers at once had no maintenance plan or runbook, and the snapshots, dashboards and logging that recovery needed were not available or not documented well enough.
- Symptoms
Right after the primary datacenter was switched from EQIAD to CODFW at 14:00 UTC on 20 September 2023, on-wiki search on all Wikimedia wikis became delayed or unavailable for a subset of users. At 14:08 the alert "CirrusSearch codfw 95th percentile latency - more_like" fired and reached IRC and the Search Platform email list as "PROBLEM alert - graphite1005/CirrusSearch codfw 95th percentile latency - more_like is CRITICAL".
- Trigger
At 14:00 UTC the primary datacenter was switched from EQIAD to CODFW. more_like queries that were expected to go to eqiad, the non-primary datacenter, went to codfw instead, apparently because RESTBase sent them as POST rather than GET.
- Root cause
- Component
- Contributing factor
- Detection
Automated monitoring caught the problem, but not quickly enough to prevent user-facing impact: the Grafana alert "CirrusSearch codfw 95th percentile latency - more_like" went to IRC and the Search Platform email list at 14:08. No one was paged; SREs were already watching closely because of the datacenter switchover. At 14:14 Hashar pinged #wikimedia-search and engineers began troubleshooting.
- Remediation
- Banned the overloaded node elastic2044 from the Elasticsearch cluster
- Action items
- Work out which Elasticsearch steps are needed before a datacenter switchover
- Update the Elasticsearch section of the datacenter switchover documentation
- Review the suggested switchover improvements in T285347 and decide whether to implement them
- Make the RESTBase /related/{article} endpoint send GET instead of POST so the CirrusSearch query cache stays warm in both datacenters
- Review the shard balance of busy wikis, especially enwiki_content
- Lessons
Monitoring caught the problem, but not quickly enough to prevent user-facing impact. The heightened attention during the switchover meant the impact was recognised immediately, and banning a single node was quick and easy. The mitigation was not guided by an existing runbook, and the shards on the overloaded host were not checked before it was banned.
These 2 cases involve Elasticsearch or OpenSearch and In-memory cache. 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.
By root cause2
Configuration change1 case
- Component
- Contributing factor
- Organisation
Software defect1 case
- Contributing factor
- Organisation