systemsfailed.devfailure archive
← All incidents

Failure class

Resource exhaustion

CPU, memory, connections, file descriptors or disk run dry.

11 incidents on record

AWS2024-07-30/~7 h

Kinesis cell manager mistakes healthy hosts for dead

For nearly seven hours in US-EAST-1, an internal Kinesis Data Streams cell degraded, raising latencies and error rates across CloudWatch Logs, S3 event delivery, Data Firehose, ECS, Lambda, Redshift, and Glue, with log backlogs taking until the next day to clear.

Lesson

An automated placement or failover system validated against typical workloads can still misbehave on a skewed profile — test cluster-management automation against shard-count extremes, not just throughput extremes, and cap its reaction rate so a false health signal cannot trigger a redistribution storm.

AWS2023-06-13/3h 48m

Lambda Frontend Scaling Bug Breaks US-EAST-1

A latent bug in Lambda's Frontend scaling logic degraded function invocations in one cell of US-EAST-1 for nearly four hours, causing elevated errors and latency across STS, Management Console, EKS cluster provisioning, Connect, and EventBridge.

Lesson

Autoscaling systems can hide defects that only trigger past capacity levels never previously exercised in production, so scaling logic must be tested well beyond historical peak, not just up to it.

incident.io2023-02-01/~2 weeks of intermittent timeouts

Unnecessary Slack transactions starved database connection pool

incident.io's API experienced intermittent 20-second timeouts over two weeks in early 2023, causing customers to see request failures whenever connection pool slots were fully occupied.

Lesson

Instrument your database connection pool with per-operation duration metrics before an incident forces you to — connection pool exhaustion from many unnecessary short transactions is invisible without that data, and the root cause will look like a general slowdown with no obvious culprit.

incident.io2023-09-19/~1 week

GKE Dataplane V2 CPU starvation from concurrent TCP storms

incident.io experienced intermittent Postgres and Memcache connection timeouts across production nodes for approximately one week following their migration to GKE, affecting API response reliability for all customers.

Lesson

After migrating to a new cloud platform, probe for hidden per-node networking behaviors (like Dataplane V2 CPU amplification on connection churn) before blaming application-layer connection pools — node-level packet drops can mimic dozens of unrelated app failures at once.

GitHub2020-02-19/8h 14min total across 4 events (Feb 19–27)

ProxySQL file descriptor limit silently capped by system process manager

GitHub.com experienced degraded service for a combined 8 hours 14 minutes across four events in late February 2020, with stalled writes on the mysql1 cluster affecting all authentication and core services that depended on it.

Lesson

Your process manager may silently cap OS resource limits like LimitNOFILE to a value orders of magnitude below what you configured — always check the actual ulimits live in production processes, not just the config files.

CircleCI2015-10-14/~17 h

Database contention triggers day-long build queue collapse

Linux builds were backed up or completely halted for roughly 17 hours across two days, affecting nearly all CircleCI customers' CI/CD pipelines during peak usage.

Lesson

Investing in architecture to reduce a known failure mode isn't enough — also build and rehearse the operational tooling needed to intervene quickly when that failure mode recurs at larger scale.

Basecamp2014-03-24/1 h 40 min (45 min fully down)

Extortion DDoS took Basecamp down for 45 minutes

Basecamp and its sibling services were fully unreachable for 45 minutes and intermittently degraded for nearly two hours, affecting all customers on a Monday morning.

Lesson

Your status page must be load-tested for outage-level traffic spikes, and incident communication must begin within five minutes of detection — not after internal triage is complete.