AWS US-EAST-1 DynamoDB DNS Race Condition Cascades Across the Internet
A latent race condition in DynamoDB's automated DNS management system left two DNS Enactor processes racing in the us-east-1 region. An unusually delayed Enactor applied an old plan that overwrote a newer one, and a second Enactor's cleanup automation then deleted the plan as stale — instantly removing every IP address for the DynamoDB regional endpoint and leaving clients unable to resolve the service. Because core AWS control planes depend on DynamoDB, the fault cascaded: EC2's DropletWorkflow Manager fell into congestive collapse (insufficient-capacity launch failures), and NLB health-checks began flapping as new instances were brought into service before their network state propagated. DynamoDB DNS was manually corrected by 2:25 AM PDT, but full recovery of dependent services did not complete until 2:20 PM PDT on October 20, 2025 — roughly 14.5 hours after onset. Downdetector logged millions of reports across more than a thousand consumer and enterprise services.
Failure cascade
Trigger → primary fault → downstream blast radius, derived from the sourced root cause and affected-services record.
Facility & location
- Operator
- Amazon Web Services
- Data center
- US-EAST-1 (Northern Virginia)
- Location
- Ashburn, United States, us-east-1
- Date
- 2025-10-20
Impact & scale
- Users affected
- Millions of end users across 1,000+ downstream internet services; press estimates of affected businesses range ~1,000-2,500 companies (secondary, unreconciled). AWS disclosed no official customer count.
- Financial
- No official AWS figure. Analyst/press estimates: >US$1B to the global economy, with one industry CEO suggesting the true toll could reach hundreds of billions in lost productivity (Catchpoint, via CNN) — estimates, not measured.
- Scope
- Sev-1 / Large-scale multi-service regional disruption
- Amazon DynamoDB
- Amazon EC2
- Amazon ECS
- Amazon EKS
- AWS Fargate
- Amazon Connect
- AWS STS
- AWS IAM
- Amazon Redshift
- Network Load Balancer (NLB)
Impact data & metrics
| Onset | 2025-10-19 23:48 PDT (06:48 UTC Oct 20) |
| DynamoDB DNS restored | 2025-10-20 02:25 PDT |
| Event end / full recovery | 2025-10-20 14:20 PDT |
| Total event duration | ~14.5 hours (872 min) |
| DynamoDB API error window (derived) | ~2h52m (11:48 PM-2:40 AM PDT) |
| EC2 launch-failure window (derived) | ~14h (11:48 PM-1:50 PM PDT) |
| NLB connection-error window (derived) | ~8h39m (5:30 AM-2:09 PM PDT) |
| Downstream services affected | 1,000+ services (Downdetector-tracked) |
| Internal AWS services affected (press) | 64 (secondary paraphrase; not an AWS-stated count) |
| Snapchat Downdetector peak | >22,000 reports |
| Aggregate Downdetector volume (secondary, unreconciled) | ~4M within 2h; ~6.5M worldwide |
| Affected businesses (secondary, unreconciled) | ~1,000-2,500 companies (vs CyberCube ~70,000 orgs) |
| Estimated economic impact (analyst/press) | >US$1B global; up to hundreds of billions (Catchpoint est.) |
Magnitude profile
Blast radius maximal: a single region's DNS fault for one foundational service (DynamoDB) propagated through EC2 and NLB control planes into 1,000+ downstream internet services worldwide. Duration substantial (~14.5h to full recovery) though the root DNS fault was corrected within ~2.6h. User and financial scores reflect millions of Downdetector reports and >$1B press-estimated economic impact, tempered because AWS disclosed no official user or dollar figures.
Sequence of events (SOE)
- TRIGGER Latent race condition dormant in the DynamoDB DNS management system: a point-in-time staleness check plus unsynchronised Planner/Enactor cleanup, waiting on a rare delay-timing interleaving.
- TRIGGER One DNS Enactor hits unusually high delays applying endpoint updates; the Planner emits many newer plan generations; a second Enactor applies the newest plan and starts cleanup, and the delayed Enactor then overwrites the regional endpoint with its stale plan (time approximate, just before the 11:48 PM error onset).
- IMPACT Cleanup deletes the stale plan; all IPs for the DynamoDB US-EAST-1 regional endpoint are removed. DynamoDB API errors begin; customers cannot establish new connections. EC2 DWFM state checks (DynamoDB-dependent) begin failing.
- CASCADE Beginning at 12:11 AM PDT customers experienced increased error rates and latencies across multiple AWS services in US-EAST-1 as the foundational dependency propagated.
- DETECTION Engineers identify DynamoDB's DNS state as the source of the outage, roughly 50 minutes after onset.
- MITIGATION No automated self-repair activates: the empty/inconsistent record 'prevented subsequent plan updates from being applied by any DNS Enactors,' so recovery must be fully manual.
- MITIGATION Temporary mitigations enable internal services to reconnect and recovery tooling to run; operators begin manual reconstruction of the DNS state.
- CASCADE EC2 droplet leases time out as DWFM remains unable to reach DynamoDB.
- RECOVERY All DNS information restored; DynamoDB endpoints begin resolving. DWFM immediately enters congestive collapse attempting mass lease re-establishment.
- RECOVERY All DynamoDB global-tables replicas fully caught up.
- RECOVERY Customer endpoint resolution completes as cached empty DNS records expire from resolver caches; DynamoDB recovery complete at 2:40 AM.
- MITIGATION Engineers throttle incoming EC2 work and selectively restart DWFM hosts to break congestive collapse and clear queues.
- RECOVERY EC2 droplet leases re-established; Network Manager begins working through a large network-state propagation backlog.
- MITIGATION Engineers disable NLB automatic health-check failovers to stop capacity being repeatedly removed by flapping instances, keeping healthy capacity online.
- RECOVERY New EC2 instance connectivity restored as the network-state propagation backlog drains.
- RECOVERY EC2 incoming-work throttles fully removed; full EC2 recovery achieved as DWFM stabilises.
- RESTORED NLB automatic health-check failovers re-enabled after EC2 stabilises; overall event concluded ~2:20 PM. AWS separately disables the DynamoDB DNS Planner and Enactor automation worldwide pending fixes.
Root cause
Contributing factors
- Point-in-time staleness guard (design/test lapse): the Enactor's newer-than-previously-applied check ran only 'at the start of the plan application process' and 'was stale by this time due to the unusually high delays in Enactor processing,' so a superseded plan could overwrite the current record with no apply-time re-validation (aws.amazon.com/message/101925/).
- Unsynchronised redundancy: three DNS Enactors across three Availability Zones applied plans and ran cleanup with no apply-time mutual exclusion or compare-and-swap, so one Enactor's cleanup could delete a plan another was concurrently writing, turning availability redundancy into a race (aws.amazon.com/message/101925/).
- No automated self-repair — a missing recovery path: 'because the active plan was deleted, the system was left in an inconsistent state that prevented subsequent plan updates from being applied by any DNS Enactors,' and it 'ultimately required manual operator intervention to correct' (aws.amazon.com/message/101925/).
- Missing tested recovery procedure (process/test-coverage gap): the DWFM/EC2 congestive-collapse path had 'no established operational recovery procedure,' so engineers had to improvise cautiously; AWS's remediation adds a DWFM recovery test suite, conceding the gap (aws.amazon.com/message/101925/).
- No queue-aware throttling: DWFM recovery reached 'congestive collapse' because EC2 lacked rate limiting keyed to waiting-queue depth; AWS's fix is to rate-limit incoming work based on queue depth (aws.amazon.com/message/101925/).
- Foundational single-service blast radius: DynamoDB is a base dependency for EC2/DWFM, NLB and other services, so one endpoint's empty DNS record cascaded region-wide across US-EAST-1 and to global services dependent on the region (aws.amazon.com/message/101925/).
- Uncontrolled NLB failover velocity: the health-check subsystem could remove large amounts of capacity via automatic AZ failover when flapping instances appeared unhealthy, worsening the outage until failover was manually disabled at 9:36 AM (aws.amazon.com/message/101925/).
Correction of errors (COE)
- Fix the DynamoDB DNS race condition and add protections against applying incorrect/stale DNS plans (apply-time re-validation / compare-and-swap)
- Disable the DynamoDB DNS Planner and DNS Enactor automation worldwide as an interim safety hold
- Add an NLB velocity-control to limit capacity removed during health-check AZ failover
- Build an EC2 test suite exercising the DWFM recovery workflow to catch future regressions
- Improve EC2 throttling to rate-limit incoming work based on waiting-queue depth
Lessons learnt
- Point-in-time invariant checks are unsafe under variable latency: a freshness guard validated only at the start of an operation can go stale before the write lands ('the check ... was stale by this time due to the unusually high delays'), so critical writes need apply-time re-validation or atomic compare-and-swap (aws.amazon.com/message/101925/).
- Redundancy without coordination amplifies failure: three independent Enactors with no apply-time mutual exclusion turned availability redundancy into a race that deleted the live record (aws.amazon.com/message/101925/).
- An empty answer is worse than a stale one: removing all IPs left clients unable to resolve the endpoint at all and left the automation in an inconsistent state that blocked every subsequent update, requiring manual repair (aws.amazon.com/message/101925/).
- Recovery paths must be tested, not improvised: the DWFM congestive-collapse scenario had 'no established operational recovery procedure,' so recovery was slow and cautious; recovery workflows for foundational services need rehearsed runbooks and regression tests (aws.amazon.com/message/101925/).
- Mass simultaneous recovery can prevent recovery: without queue-depth-aware throttling, DWFM's attempt to re-establish all leases at once caused congestive collapse — recovery work needs backpressure and rate limiting (aws.amazon.com/message/101925/).
- Foundational dependencies concentrate blast radius: a single DynamoDB endpoint's empty DNS record cascaded across EC2, NLB and other services region-wide, underscoring the need to bound and test the failure modes of base services (aws.amazon.com/message/101925/).
Improvements & remediation
- Designfix the DNS race condition and add protections to prevent applying incorrect/stale DNS plans — re-validate plan freshness at apply time (compare-and-swap against the live record), not only at the start of plan application (aws.amazon.com/message/101925/).
- Designadd an NLB velocity-control to limit the capacity a single NLB can remove when health-check failures cause AZ failover, preventing flapping instances from stripping capacity region-wide (aws.amazon.com/message/101925/).
- Safetybuild automated self-repair/guarding so an empty or inconsistent endpoint record cannot persist and block all subsequent Enactor updates — the incident required manual operator intervention because no such safeguard existed (aws.amazon.com/message/101925/).
- Maintenancebuild an EC2 test suite that exercises the DWFM recovery workflow so the previously untested 'no established operational recovery procedure' path is validated before it is needed in production (aws.amazon.com/message/101925/).
- Processimprove EC2 throttling to rate-limit incoming work based on waiting-queue depth, preventing recovery-driven congestive collapse of DWFM (aws.amazon.com/message/101925/).
- Processdisable the DynamoDB DNS Planner and DNS Enactor automation worldwide until the race condition and stale-plan protections ship, as an interim safety hold (aws.amazon.com/message/101925/).
Comprehensive analysis
What happened
A latent race condition in DynamoDB's automated DNS management for US-EAST-1 produced an empty DNS record for the service's regional endpoint. A delayed DNS Enactor overwrote a current plan with a stale one, and the parallel cleanup then deleted that plan, removing all IP addresses. AWS: 'The root cause of this issue was a latent race condition in the DynamoDB DNS management system that resulted in an incorrect empty DNS record for the service's regional endpoint' (aws.amazon.com/message/101925/).
Why the guard failed
The Enactor's staleness check ran only at the start of plan application and 'was stale by this time due to the unusually high delays,' so it could not stop a superseded plan from overwriting the live record. Three Enactors across three AZs shared no apply-time mutual exclusion, so cleanup could delete a plan another Enactor was concurrently writing. The result was a self-inflicted empty record the automation could not self-heal (aws.amazon.com/message/101925/).
How it cascaded
DynamoDB is a foundational dependency. EC2's DWFM lost DynamoDB access, droplet leases timed out, and on DNS restoration DWFM entered 'congestive collapse' attempting mass lease re-establishment. The NLB health-check subsystem flapped on newly launched instances and triggered automatic AZ failover that stripped capacity. Downstream, Roblox, Fortnite, Snapchat and Duolingo among others degraded (aws.amazon.com/message/101925/; en.wikipedia.org).
Detection and response
Onset at 11:48 PM PDT; correct diagnosis by 12:38 AM (~50 min). Because no automated self-repair existed, recovery was manual: DNS rebuilt by 2:25 AM, congestive collapse broken at 4:14 AM by throttling and host restarts, new-EC2 connectivity by 10:36 AM, NLB failover re-enabled 2:09 PM, event concluded ~2:20 PM. The DWFM scenario had 'no established operational recovery procedure' (aws.amazon.com/message/101925/).
Systemic lessons and fixes
The remediation set is an implicit admission of latent design and test gaps: fix the race and add stale-plan protection, add NLB velocity control, build a DWFM recovery test suite, add queue-depth-based EC2 throttling, and disable the DNS automation worldwide until fixes ship. The transferable lessons: validate invariants at write time, coordinate redundant writers, test recovery paths, and add backpressure so recovery cannot overload the system it is recovering (aws.amazon.com/message/101925/).
Technical deep-dive
References & provenance
- official-postmortem Summary of the Amazon DynamoDB Service Disruption in the US-East-1 Region (AWS message 101925)“AWS: "The root cause of this issue was a latent race condition in the DynamoDB DNS management system that resulted in an incorrect empty DNS record for the service's regional endpoint."”https://aws.amazon.com/message/101925
- press 2025 Amazon Web Services outage — Wikipedia“Beginning at 12:11 am PDT, customers experienced increased error rates and latencies for multiple AWS services within the Northern Virginia (us-east-1) Region.”https://en.wikipedia.org/wiki/2025_Amazon_Web_Services_outage
- news ThousandEyes: AWS Outage Analysis October 20, 2025“Analysis tying the disruption to DynamoDB endpoint resolution failure in us-east-1 propagating across dependent services.”https://www.thousandeyes.com/blog/aws-outage-analysis-october-20-2025
- news InfoQ: AWS DynamoDB outage postmortem“Coverage of the DNS Enactor race and the DWFM/NLB cascade described in AWS's postmortem.”https://www.infoq.com/news/2025/11/aws-dynamodb-outage-postmortem
- news Engadget: AWS outage knocks Alexa, Snapchat, Fortnite, Venmo and more offline“Report listing knocked-offline services: "Amazon Alexa, Bank of America, Snapchat, Reddit, Lyft, Apple Music... Fortnite, Roblox... Disney+, Venmo, DoorDash, Hulu... PlayStation, Zoom."”https://www.engadget.com/big-tech/amazons-aws-outage-has-knocked-services-like-alexa-snapchat-fortnite-venmo-and-more-offline-142935812.html
- news CNN Business live coverage: Amazon tech outage, Oct 20, 2025“On Snapchat's peak: "At their peak, the reports numbered over 22,000"; a Catchpoint executive suggested the toll could "reach into the hundreds of billions."”https://www.cnn.com/business/live-news/amazon-tech-outage-10-20-25-intl
- news PBS NewsHour: Amazon cloud outage disrupts Snapchat, Ring and many other services“Press paraphrase: "Sixty-four internal AWS services were affected" (not an AWS-stated count).”https://www.pbs.org/newshour/nation/amazon-cloud-computing-outage-disrupts-snapchat-ring-and-many-other-online-services
Sourced from public post-incident reports. Quotes are short attributed excerpts for provenance only; the analysis above is original and substantially shorter than its sources. Last verified 2026-07-31.