Failure pattern · 10 documented incidents
Global change without a staged rollout
A configuration, content or code change reaches every server at once, so one bad value takes everything down together.
See it happen
Watch how this failure unfolds, then switch to the same situation with the safeguard in place. Click any step to replay it.
Scroll the diagram sideways to see every system.
One mistake, one global outage.
What goes wrong:
- A configuration file with one bad value is published.
- Within seconds it reaches every server in the world.
- Every server fails on the same input at the same time.
- One mistake, one global outage.
With the safeguard:
- A configuration file with one bad value is published.
- It goes to a small canary group first, not everywhere.
- Health checks catch the errors and roll back automatically.
- The rest of the world never sees the bad value.
What it is
A configuration, content or code change goes out to every server at the same moment. If it carries one bad value, everything fails together, and the tools you’d use to roll back may be down too.
How it happens
- A change bypasses the staged rollout that code goes through
- Every region or server consumes the same file or setting
- There’s no automatic check on health before the change spreads
What it causes
- Global outages from a single change
- Recovery slowed because management tools depend on the broken system
- Every customer affected at once
Warning signs
- Errors starting in every region within seconds of a change
- Config or content updates that skip canary stages
- No one can roll back faster than the change spread
How to prevent it
Stage every change and keep a fast rollback. Validate configuration and content like code, release through canary rings while watching health signals, and keep a tested last-known-good rollback that works even when the control plane is degraded.
- Every change, including config and content, rolls out in stages starting with a small canary
- Health checks stop the rollout and roll back automatically
- New configuration is validated, size and shape included, before anything loads it
Key ideas:Canary releaseKill switchBlast radius
Check your system against the full launch checklistReal incidents with this pattern
Documented incidents first. Each links to its public source.
Database permissions change doubles a bot-management feature file and crashes edge proxies (Cloudflare, 2025)
A ClickHouse access-control change made table permissions explicit, so a query without a database filter returned duplicate rows and doubled the size of the Bot Management feature file.
Safeguard: Validate generated configuration before global propagation
Dormant configuration error in legacy routing systems withdraws Cloudflare's 1.1.1.1 DNS resolver worldwide (2025)
A configuration change on June 6, 2025 for a not-yet-used service accidentally included the 1.1.1.1 resolver's IP prefixes in that service's topology; the error sat dormant in production.
Safeguard: Validate configuration against what it will change, not only what it adds
Policy change with blank fields crashes Google Cloud's Service Control in a global loop (2025)
A policy change containing blank fields was inserted into the quota policy system; when Service Control read it, the code path hit a null pointer and the binaries went into a crash loop.
Safeguard: Guard risky code paths with feature flags
Unplanned automatic OS update cuts networking for Heroku apps and its own status tools (2025)
An automated operating-system update ran on production hosts when it should have been disabled, and restarted their networking service.
Safeguard: Allow changes to production only through the controlled deployment path
Faulty Channel File 291 content update crashes Windows hosts running CrowdStrike Falcon (2024)
Rapid deployment channel 291 bypassed staged canary rings; out-of-bounds memory read triggered BSOD on 8.5M Windows hosts.
Safeguard: Stage every content update through canary rings
New Consul streaming feature under heavy load and a BoltDB issue cause a 73-hour outage (Roblox, 2021)
Enabling a relatively new streaming feature in Consul under unusually high read and write load caused excessive contention, compounded by a pathological performance issue in BoltDB when handling large writes.
Safeguard: Roll out new infrastructure features gradually under realistic load
Backbone maintenance command disconnects Facebook's data centers and locks out recovery tooling (Meta, 2021)
A command issued to assess global backbone capacity unintentionally took down all the connections in Facebook's backbone network.
Safeguard: Test the guard that is meant to stop dangerous commands
Valid customer configuration change triggers a latent software bug across a CDN (Fastly, 2021)
A software deployment on May 12, 2021 introduced a bug that a specific valid customer configuration could trigger; on June 8 a customer pushed such a change.
Safeguard: Canary software changes and watch for latent bugs
Regular expression in a WAF rule exhausts CPU on every edge server (Cloudflare, 2019)
A new WAF managed rule for XSS detection contained a regular expression that caused catastrophic backtracking and exhausted CPU.
Safeguard: Deploy rules through staged rollouts
Repurposed flag and an incomplete deployment send runaway orders from Knight Capital's router (2012)
Repurposed test flag on 1 of 8 servers activated legacy Power Peg loop; bought 4M shares in 45 minutes losing $460M.
Safeguard: Enforce hard pre-trade limits in deterministic code
In the standards
CollectSEA's mapping; not an official determination by the standards bodies.