Thundering herd on restart: symptoms, cause, and the test that catches it
Clients reconnect simultaneously after a rolling restart and overload a dependency.
Thundering herd on restart is documented by 2 accepted public reports from 2 organisations, 2 of them published in the last 5 years.
- Likelihood: low (2 public reports in 5 years)
- Impact: medium (2 of 2 reports: availability)
Symptoms
User-visible
Monitoring-visible
- A burst of key-value store connection timeouts targeted a single replica, together with elevated HTTP request errors.[1]
- Several key-value store nodes hit their limit of 65,000 connections.[1]
- The running pod count doubled within a minute and reached about five times the starting count.[1]
- Database connections saturated after a production deployment during peak traffic.[2]
- Client reconnection attempts added pressure on the system while database connections were saturated.[2]
Root causes
- stage: infra A platform migration to more, smaller application processes with fewer threads each raised total connection demand on the key-value store.[1]
- stage: infra Connection timeouts made clients reconnect and retry in a surge, and autoscaling added pods that each opened new connection pools, which fed the surge in a loop.[1]
- stage: config A feature flag change on 2025-08-19 made clients query the server more often.[2]
- stage: release-process A production deployment during peak traffic on 2025-08-20 set off client reconnection attempts that, with inefficient database connection management, saturated database connections.[2]
Public examples
- [1]Buildkite, 2026-09-11. After a migration to more, smaller application processes raised Redis connection demand, Redis connection timeouts made clients reconnect and retry in a surge, autoscaling added pods that each opened new connection pools, and a later routine deployment added containers that caused a second period of errors. primary Buildkite service disruption
- [2]Hex, 2025-08-26. A feature flag change made clients query the server more often, and a production deployment during peak traffic the next day triggered client reconnection attempts that saturated database connections until capacity was raised, the flag change was reverted and backend pods were reset. primary Some users are experiencing issues accessing Hex projects
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Chaos and resilience tests | pre-deploy | A restart drill run at off-peak load misses the herd in report [2], where the deployment landed during peak traffic a day after a flag raised client query frequency. | by design analysis |
| Load and performance tests | pre-deploy | A load test that holds the pod count fixed misses the autoscaling in report [1], where pods doubled within a minute and each new pod opened its own connection pool. | by design analysis |
| Canary and progressive delivery checks | post-deploy | A canary that replaces a few pods sends only a small reconnect wave, so the database connection saturation in report [2] appears only at full deployment scale. | by design analysis |
Risk
- Likelihood: low (2 public reports in 5 years)
- Impact: medium (2 of 2 reports: availability)
| Accepted public reports | 2 |
|---|---|
| Published in the last 5 years | 2 |
| Impact stated: availability | 2 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
- PR-07
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
- FM-08
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names chaos and resilience tests, load and performance tests, canary and progressive delivery checks on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Argo Rollouts canary source verified 2026-10-21
- Artillery load source verified 2026-10-21
- AWS Fault Injection Service chaos source verified 2026-10-21
- Chaos Mesh chaos source verified 2026-10-21
- Chaos Toolkit chaos source verified 2026-10-21
- Drill load source verified 2026-10-21
- Flagger canary source verified 2026-10-21
- Gatling load source verified 2026-10-21
- Grafana k6 load source verified 2026-10-21 chaos source verified 2026-10-21
- Gremlin chaos source verified 2026-10-21
- GrowthBook canary source verified 2026-10-21
- hey load source verified 2026-10-21
- Hoverfly chaos source verified 2026-10-21
- Karate load source verified 2026-10-21
- Kayenta canary source verified 2026-10-21
- kube-monkey chaos source verified 2026-10-21
- LaunchDarkly canary source verified 2026-10-21
- LitmusChaos chaos source verified 2026-10-21
- Locust load source verified 2026-10-21
- oha load source verified 2026-10-21
- Postman load source verified 2026-10-21
- Pumba chaos source verified 2026-10-21
- Spinnaker canary source verified 2026-10-21
- TestMu AI (formerly LambdaTest) load source verified 2026-10-21
- Toxiproxy chaos source verified 2026-10-21
- Unleash canary source verified 2026-10-21
- WireMock chaos source verified 2026-10-21
Providers whose site names these test classes
- 2i load source verified 2026-10-21
- Abstracta load source verified 2026-10-21
- andagon people GmbH load source verified 2026-10-21
- Appmatics load source verified 2026-10-21
- AQA Masters load source verified 2026-10-21
- BugRaptors load source verified 2026-10-21
- Cleverix load source verified 2026-10-21
- Crestech Software Systems load source verified 2026-10-21
- Crowdar load source verified 2026-10-21
- DeviQA load source verified 2026-10-21
- Elinext load source verified 2026-10-21
- Exactpro load source verified 2026-10-21
- Full Scale load source verified 2026-10-21
- Inmetrics load source verified 2026-10-21
- Invensis Technologies load source verified 2026-10-21
- iScale Solutions load source verified 2026-10-21
- Itekako load source verified 2026-10-21
- iValuePlus Services load source verified 2026-10-21
- Nimble Approach load source verified 2026-10-21
- Outpost QA load source verified 2026-10-21
- PLATO load source verified 2026-10-21
- Polteq load source verified 2026-10-21
- QA Madness load source verified 2026-10-21
- QA Mentor load source verified 2026-10-21
- QASource load source verified 2026-10-21
- QAwerk load source verified 2026-10-21
- Quality House load source verified 2026-10-21
- Quality Island load source verified 2026-10-21
- QualityKiosk Technologies load source verified 2026-10-21 chaos source verified 2026-10-21
- QualityLogic load source verified 2026-10-21
- Saigon Technology load source verified 2026-10-21
- SHIFT ASIA load source verified 2026-10-21
- SimplyTest GmbH load source verified 2026-10-21
- Sofka Technologies load source verified 2026-10-21
- Soflab Technology load source verified 2026-10-21
- SQA - Software Quality Assurance S.A. load source verified 2026-10-21
- SunTec India load source verified 2026-10-21
- T2S Tecnologia load source verified 2026-10-21
- TestFort load source verified 2026-10-21
- Testhouse load source verified 2026-10-21 chaos source verified 2026-10-21
- Testing IT load source verified 2026-10-21
- TestMatick load source verified 2026-10-21
- Testrig Technologies load source verified 2026-10-21
- Testscenario load source verified 2026-10-21
- TestSolutions GmbH load source verified 2026-10-21
- VTEST load source verified 2026-10-21
- Zoonou load source verified 2026-10-21
Only on this page
Neither report [1] nor report [2] names a code change as the cause of thundering herd on restart. Report [1] names infra: a platform migration to more, smaller processes raised connection demand, and autoscaling then multiplied pods that each opened new connection pools. Report [2] names release process: a production deployment during peak traffic set off the reconnect wave.
In report [1], a later routine deployment added containers and caused a second period of errors. Its remediation reduced the maximum deployment surge and raised the autoscaling scale-up stabilization window. In report [2], the follow-up avoids deployments during peak traffic and plans exponential backoff for client reconnection during releases. Both fixes include release and scaling settings, and report [2] also optimised database connection pooling and reuse.
Related incidents
- Disk full from new log volume A logging change fills disks and services stop writing.
- Error budget burned by retry storm Client retries amplify a partial failure into a full outage.
- Autoscaling policy misconfigured A scaling change fails to add capacity or scales to zero under load.
- Background job queue backlog A job change slows processing and the queue grows faster than it drains.
- Cache invalidation storm A deploy flushes or invalidates caches at once and origin load spikes.
Questions
What causes thundering herd on restart?
In one report, smaller processes raised connection demand and autoscaling added pods that each opened new connection pools [1]. In the other, a deployment during peak traffic set off client reconnection attempts that saturated database connections [2].
What are the symptoms of thundering herd on restart?
Users see failed API requests, job dispatch delayed by up to 10 minutes [1] or projects they cannot access [2]. Monitoring shows connection timeouts, nodes at a 65,000 connection limit [1] and saturated database connections [2].
Which test class catches thundering herd on restart, and what does it miss?
Chaos and resilience tests, load and performance tests and canary checks are listed, all with the by-design label. A load test with a fixed pod count misses autoscaling that doubled pods within a minute [1].
How long did it take to detect thundering herd on restart in the public reports?
Neither report gives a time to detect in minutes. Report [1] records elevated HTTP request errors at 18:43:10 UTC together with a burst of connection timeouts.
What should be checked before a release to prevent thundering herd on restart?
PR-01 restarts every backend pod at once in staging under peak-shaped traffic. PR-03 checks that connections per process times process count stay under the per-node limit.
Should a team roll back or fix forward when thundering herd on restart happens?
Report [2] raised capacity, reverted the flag change and reset backend pods. Report [1] added store nodes for 33 percent more connection capacity and paused deployments, since a deployment had caused a second period of errors.
Release Incident Playbook (2026). Thundering herd on restart: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/thundering-herd-on-restart/. Accessed 2026-10-21.