IL-0372 Heroku · 2021-02-25database
Heroku apps could not connect to about 1% of hobby-tier Postgres databases after the databases' host names changed
During an upgrade process in an upstream system, the host names of several shared database systems that host hobby-tier Heroku Postgres databases were changed by mistake. The new host names were not passed to the systems that update Heroku apps with new information, so the connection strings in the attached apps pointed at the old names and the apps could not connect. Soon after the problem was detected, Heroku halted the upgrade process to limit the impact. Engineers then updated all the relevant systems with the new information and published a new release on each affected app, and during the incident customers were given a workaround of rotating their database credentials. Error rates were back to normal at 18:29 UTC, and the follow-up puts the end of the impact at 17:10 UTC.
- Severity
- –
- Scope
- Connections from Heroku apps to about 1% of hobby-tier Heroku Postgres databases
- Users affected
- –
- Region
- –
- Time to detect
- –
- Time to resolve
- 17h 10m
Symptoms
From 00:00 UTC on 25 February 2021, Heroku apps attached to about 1% of hobby-tier Postgres databases could not connect to their databases. Heroku first posted that it was investigating connectivity issues with Hobby tier databases at 03:39 UTC.
The connection strings of the affected databases had changed, but the attached apps still had the old ones. While the fix was rolling out, a database owner could bring the database back by rotating its credentials with `heroku pg:credentials:rotate`, adding the `--all` flag when the database had several credentials.
Root cause
Root cause Breaking change in an upgrade
- Trigger
- An upgrade process in an upstream system wrongly changed the host names of several shared database systems.
Detection
–
Remediation
- Halted the upstream upgrade process
- Updated the relevant systems with the new host names and published a new release on the affected apps
- Gave customers a workaround of rotating database credentials with heroku pg:credentials:rotate
Action items
- Improve monitoring to detect similar incidents
- Provide tooling and documentation that shorten recovery from a similar incident
Lessons
–
Sources
- https://status.heroku.com/incidents/2208 · official-status · archived copy
Related cases
IL-0572About 10 million Pub/Sub messages backed up and Merpay accounting data was not written to Cloud Spanner for over a dayMercari · 2026same root cause · shared Database
IL-0569After an MHA master failover, one of three MySQL replicas failed with a malformed binlog error and could not catch upDeNA · 2026same root cause · shared Database
IL-0304Intercom's US region was fully down for 71 minutes when its Vitess VTGates dropped all routes to the database shardsIntercom · 2026same root cause · shared Database
IL-0316Railway's control plane slowed and deployments stopped after a PgBouncer version jump used abnormal CPU and memoryRailway · 2025same root cause · shared Database
IL-0498Clerk's Postgres database had load spikes every 15 minutes and requests failed and slowed intermittently for four daysClerk · 2025same root cause · shared Database
IL-0444Reader connections to Repro's Aurora MySQL cluster were cut with Lost connection errors every time ALTER TABLE ranRepro · 2024same root cause · shared Database
IL-0117A scheduled maintenance and an ingress upgrade on OpenAI's user-facing clusters caused a networking control plane regression that briefly broke the data plane, and the services that restarted then overwhelmed a backend persistence store with a heavy first-start queryOpenAI · 2024same root cause · shared Database
IL-0314Daily's newly upgraded Aurora MySQL database deadlocked on meeting-event queries and its call servers kept restartingDaily · 2023same root cause · shared Database
IL-0308Most RevenueCat backend systems failed after cutover to a new Aurora PostgreSQL 14 cluster as queries became very slowRevenueCat · 2022same root cause · shared Database
IL-0294CircleCI Docker and machine jobs stalled for nearly 12 hours after a VM cleanup queue lost all its RabbitMQ consumersCircleCI · 2021same root cause · shared Database
Check your cluster for this
For AI tools and scripts
- This case as JSON: https://incidentlib-api.benchlet.com/cases/IL-0372
- The cases most like it: https://incidentlib-api.benchlet.com/cases/IL-0372/similar
- MCP server (Streamable HTTP, no key):
https://incidentlib-mcp.benchlet.com/mcp
The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.