Cases2 cases
1 to 2 of 2
IL-0544Wasabi's database cache stopped responding when its queueing service filled up, and S3 failed in all regionsWasabi2024- Symptoms
From 10:32 UTC on 6 August 2024, Wasabi's S3 service and user services failed in every region: users had trouble logging into the Web Console and requests to Wasabi regions returned errors.
- Trigger
At 10:32 UTC on 6 August, Wasabi's queueing service reached full capacity, and that made the database cache unresponsive.
- Root cause
- Component
- Contributing factor
- –
- Remediation
- Restarted the primary database to clear stale connections and cleared the queueing service's queue at the same time, which did not fully restore the database
- Promoted the secondary database instance to primary, after which S3 was fully operational at 11:20 UTC
- Restarted the database again between 13:17 and 13:23 UTC to fully incorporate the queueing service library
- Promoted the original primary database back to production on 7 August, which stopped the user service timeouts
- Recreated and redeployed the automation cluster that the automation service could not see, which fully restored S3
IL-0275Parse.ly's Kafka brokers hit network limits and failed one after another, stopping the analytics pipeline for hoursParse.ly2015- Symptoms
On Thursday night, 26 March 2015, and again on Friday, 27 March, Parse.ly's data processing backend stopped. Monitoring tools such as Munin, Sentry and Pingdom reported failures widely, PagerDuty woke the on-call engineer, and no new analytics data appeared in the dashboards at dash.parsely.com and preview.parsely.com for several hours.
- Trigger
Data volume reached a point where the Kafka brokers, running on modest Amazon EC2 nodes without high network capacity, hit operating system network limits under the outbound read traffic and became unavailable.
- Root cause
- Component
- Contributing factor
- Detection
Munin, Sentry and Pingdom reported the failures widely, Graphite graphs showed them, and PagerDuty woke the on-call engineer when the first outages started in the night.
- Remediation
- Added new brokers to expand the Kafka cluster
- Corrected the configuration of the new brokers and deployed them to the cluster, after which network utilization per node dropped and processing resumed
- Turned the downstream consumer systems back on slowly through Apache Storm and reprocessed the backlog
- Began restoring the data to customer accounts from the raw data archived in Amazon S3
- Lessons
CPU and disk I/O are good signs of machine health, but creeping network utilization is harder to monitor, because 100% of network capacity is not well defined on cloud VMs that share host machines. When every node of a cluster runs close to the same limit, losing one node can take down the whole cluster, so failure planning should cover an entire subsystem going offline, not just one or two machines. Keeping raw data archival in simple files and S3 uploads, separate from the Kafka stream, meant there was no risk of permanent data loss.
These 2 cases involve Message broker 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 cause1
Capacity exhaustion2 cases
- Contributing factor