Graph
Cases4 cases
1 to 4 of 4
IL-0356Every domain hosted on Railway returned HTTP 404 to new connections for five minutes because route lookups failedRailway2026- Symptoms
On 30 September 2026, between about 07:35 and 07:40 UTC, new connections to every domain hosted on Railway, both custom domains and *.up.railway.app domains, got HTTP 404 in all regions. Internal alerting paged the on-call team as soon as route lookups started to fail.
- Trigger
At 07:29 UTC an engineer merged a change to the routing control plane that contained a database schema update and a new version of the routing service. At about 07:35 the deployment system rolled the new routing service out to every region before the schema update had been applied.
- Root cause
- Component
- Contributing factor
- Detection
Internal alerting engaged the on-call response team as soon as route lookups began to fail at about 07:35 UTC.
- Remediation
- Let the CI system finish the schema update, after which the routing service's retried lookups succeeded and routing recovered without a rollback
- Action items
- Force the migration rollout to run in serial order and unify the deployment pipeline so deploy order and blast radius are checked before merge
- Block the routing service's blue/green rollout until the database schema matching its version is in place
- Add shard based rollouts per region to the distributed control plane to isolate impact
IL-0380A compaction change in InfluxDB Cloud us-east-1 dropped data from compacted files, and queries missed data for weeksInfluxData2026- Symptoms
From 9 February 2026, InfluxDB Cloud customers on the AWS us-east-1 cluster prod101-us-east-1 found that some recent data did not show up in query responses. The first support ticket about data availability came in on 9 February, the day a compaction change was deployed, and more tickets followed on 10 February.
- Trigger
On 9 February 2026 InfluxData deployed to prod101-us-east-1 a compaction change that runs several compaction jobs in parallel on one partition, each on a subset of the data chosen by org id prefix.
- Root cause
- Component
- Contributing factor
- Detection
Tickets about data availability were raised, the first on 9 February and more on 10 February, when the status page reported that some recent data was not showing up in query responses.
- Remediation
- Rolled back the compaction change
- Restored recent data first, rebuilt from the Kafka logs
- Changed the restoration process to make historical data recovery more efficient
- Restored historical data from the weekly TSM snapshots
- Kept the cluster online and restored data incrementally so ingest and queries could continue
- Action items
- Expand test coverage for changes to critical storage components such as the compactor, with scenarios closer to production-scale workloads
- Strengthen safeguards around compaction so failures are detected and handled safely
- Review restoration workflows and procedures to reduce elevated TTBR and slow queries during large restores
- Revisit the backup and restore strategy to speed up cluster-wide restorations
IL-0367Azure Storage in Central US rejected VM disk I/O, taking down VMs and the SQL Database and Cosmos DB services on themMicrosoft Azure2024- Symptoms
From 21:40 UTC on 18 July 2024, virtual machines in the Azure Central US region lost access to their disks, and the services running on those VMs failed. Azure SQL Database and SQL Managed Instance showed unhealthy nodes and login failures, Cosmos DB requests failed, and service management operations failed across many Azure services.
- Trigger
Routine changes to the VM host fleet led to a new allow list of VM host address ranges being generated and published to all Storage scale units in Central US. Recent network configuration changes had made some of the infrastructure file servers that hold the source data unreachable from the server generating the list, so the published list was incomplete.
- Root cause
- Component
- Contributing factor
- Detection
Service monitoring detected the drop in VM availability at 22:06 UTC while the allow list update was being published. SQL monitoring detected unhealthy nodes and login failures within one minute of SQL becoming unavailable, and monitoring flagged the availability drop for Cosmos DB, SQL DB and SQL DB Managed Instance at 22:14 UTC.
- Remediation
- Halted the allow list update workflow worldwide
- Paused all deployments in the Central US region
- Paused compute buildout deployments in all regions
- Updated the configuration of all Storage scale units in Central US, restoring storage availability by 02:55 UTC
- Started geo-failovers for SQL databases with automatic failover policies
- Restarted SQL gateway nodes to refresh their caches and route connections to the right nodes
- Forced completion of SQL failovers that had not completed
- Failed over the Cosmos DB control plane and active-passive accounts with a write region in Central US
- Cancelled customer-triggered graceful switch region operations that blocked Cosmos DB failovers
- Removed locks on Cosmos DB service metadata to force-complete stuck failovers
- Repaired impacted Cosmos DB partitions for single-region accounts
- Repaired backend nodes and failed Cosmos DB accounts back to Central US, redoing failback where it failed
- Action items
- Make the allow list generation workflow detect incomplete source information and halt
- Alert on storage requests rejected by allow list checks
- Deploy allow lists one Availability Zone and storage type at a time, over 24 hours
- Add VM health checks and an automatic stop to the allow list deployment workflow
- Reevaluate the policy for Microsoft-managed failover of SQL failover groups
- Fix the Cosmos DB failback workflow that broke some MongoDB drivers for MongoDB API accounts
- Fix Cosmos DB failback for accounts with private endpoints so it does not need redoing
- Make the storage data-plane firewall reject invalid allow lists and keep the last-known-good state
- Improve Azure NetApp Files monitors so impacting events are detected and classified in time
- Monitor more Azure NetApp Files service metrics to correlate similar events faster
- Make the SQL Service Fabric cluster location change notifications reliable under load
- Make SQL geo-failover workflows more robust so they complete
- Remove the issues that delayed 5% of Cosmos DB failovers
- Migrate Azure DevOps customer metadata to the right geography
- Decouple Azure NetApp Files regional reads and writes to keep this class of issue to one region
- Evaluate caching to reduce Azure NetApp Files reliance on stored utilization data
- Add automatic per-partition failover for Cosmos DB multi-region active-passive accounts
- Build the Resilient Ephemeral OS disk improvement so VMs survive storage incidents better
IL-0506UC Berkeley DataHub logins failed and students got empty home directories after the JupyterHub database was overwrittenUC Berkeley2017- Symptoms
At about 1 AM on 9 February 2017, UC Berkeley's DataHub was reported down: users trying to log in got a proxy error. The hub pod was running, but its log was full of sqlite errors.
- Trigger
While debugging, an operator ran `.save jupyterhub.sqlite` in sqlite3 inside the hub pod without having attached the database, which replaced the JupyterHub database file with an empty one.
- Root cause
- Component
- Contributing factor
- Detection
DataHub was reported down at about 1 AM, when users got a proxy error at login. At 1:12 AM a user reported that he could log in but all his notebooks were gone.
- Remediation
- Scaled the hub to 0 replicas
- Rebuilt the JupyterHub sqlite database by matching Kubernetes PVC names back to user ids
- Set cookie_id to null instead of a dummy value and attached the rebuilt database to the hub
- Changed the cookie secret in the hub pod and restarted it to log all users out
- Deleted all user pods to log everyone out
- Ran a script that filled in cookie_id for all users, restarted the hub and deleted all user pods again
- Dropped the new users with a '.' in their name and renamed the older users from '-' to '.'
- Action items
- Report upstream that JupyterHub uses only part of the cookie secret and discards the rest
- Report upstream that the cookie_id column of the users table should have UNIQUE and NOT NULL constraints
- Ask KubeSpawner to support username hashes in PVC and pod names so the names stay the same when the database is deleted
- Ask OAuthenticator to support using the id from the Google authenticator as the user id, giving stable user ids
- Switch to Google Cloud SQL, a hosted and managed MySQL database
- Take regular and tested backups of the database
- Start an operational FAQ of things to do and not to do
- Set up better monitoring and paging
- Document escalation procedures explicitly
These 4 cases involve Database and Cloud block storage. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.
By root cause3
Faulty deployment2 cases
- Contributing factor
- Organisation
Configuration change1 case
- Contributing factor
- Organisation
Operator error1 case
- Organisation