Cases4 cases
1 to 4 of 4
IL-0568A layer 2 loop after an access switch change broke network traffic across a whole DeNA site, with mass MACFLAP logsDeNA2026- Symptoms
At about 20:00 on a weekday, one of DeNA's largest sites reported that terminals of a customer-facing system could not communicate and business was suffering. The network group's monitoring had raised no alert.
- Trigger
During a routine change on 15 Cisco Catalyst 2960L access switches at the site, which tidied descriptions, added VLAN definitions and added allowed VLANs on trunk ports, `no switchport trunk allowed vlan` was applied to GigabitEthernet0/15 of switch SW3, only one of the two physical ports in the LACP bundle between SW3 and SW2.
- Root cause
- Component
- Contributing factor
- Detection
The site reported the problem at about 20:00; no monitoring alert fired, because the affected port had no interface monitoring and LACP monitoring had been removed by an earlier monitoring change.
- Remediation
- Rolled back the switch changes without knowing the cause; service recovered when the interface setting of one switch was restored
- Found the faulty port and confirmed there was no other impact, completing the first response at about 22:00
- Action items
- Fix the missing interface and LACP monitoring
- Require a review for every monitoring change
- Block merges to the alert rule repository without a reviewer's approval
- Enable automatic AI review on pull requests
- Announce every network change in advance, however minor
- Agree the work date with the site's managers and avoid the site's event days
- Prepare rollback procedures for high-impact maintenance and for work on several devices at once
- Lessons
Any change can cause an outage, through a mistake, an unexpected event or a bug, so changes need to be scheduled with a maintenance window agreed in advance. A change on a downstream access switch can affect the whole site. Changing many devices at once made it slow both to find the faulty device and to roll back, and the parts that can be prevented by mechanisms rather than by people's care, such as reviews and monitoring, should be enforced that way.
IL-0378All Cloudflare R2 object writes and about 35% of reads failed when the R2 Gateway could not authenticate to storageCloudflare2025- Symptoms
From 21:38 UTC on 21 March 2025, Cloudflare R2 object storage returned errors for 1 hour and 7 minutes: all object writes failed and about 35% of object reads failed globally. R2 global availability alerts fired at 21:45 UTC, at a 2% error budget burn rate.
- Trigger
During a routine rotation of the credentials the R2 Gateway Worker uses to authenticate with the storage infrastructure, the new credentials were deployed to the Worker of the default environment instead of the production Worker, and the old credentials were then removed from the storage infrastructure at 20:37 UTC.
- Root cause
- Component
- Contributing factor
- Detection
R2 global availability alerts fired at 21:45 UTC, seven minutes after impact began, at a 2% error budget burn rate, and the R2 engineering team turned to operational dashboards and logs.
- Remediation
- Deployed the new credentials to the production R2 Gateway Worker, which restored R2 availability
- Action items
- Add logging tags with the suffix of the credential ID the R2 Gateway Worker uses
- Require confirmation that the new token ID suffix matches storage infrastructure logs before deleting the old token
- Run key rotation through the hotfix release tooling, which enforces the environment, instead of manual wrangler commands
- Write the two-person validation of these changes into the standard operating procedures
- Extend the closed loop health check system to test new keys, report their status through alerting and confirm global propagation before releasing the gateway Worker
- Add observability views of upstream success rates that bypass caching
- Lessons
Because the deletion of the old credentials took effect gradually, availability metrics were a poor way to confirm the change. Cloudflare said the team should have checked directly which token the R2 Gateway service was using to authenticate with the storage infrastructure instead of relying on those metrics.
IL-0531Azure Database for MySQL Single Server and MariaDB in West US rejected every new connection for a batch of serversMicrosoft Azure2024- Symptoms
From 04:26 UTC on 19 April 2024, every new connection to a subset of Azure Database for MySQL - Single Server and Azure Database for MariaDB servers in West US failed, and retries did not help. The first report came at 04:46 UTC from Azure Databricks, which told the MySQL team that multiple databases were unreachable.
- Trigger
At 04:26 UTC, during planned maintenance in West US, the DNS update that moves new incoming connections for a batch of MySQL and MariaDB servers to a new gateway ring was made, and a procedural error pointed it at a newly built gateway ring whose configuration was incomplete.
- Root cause
- Component
- Contributing factor
- Detection
Service telemetry did not detect the failure because the new gateway ring had no telemetry or monitoring configured yet. At 04:46 UTC Azure Databricks reported to the MySQL team that multiple databases were unreachable.
- Remediation
- Rolled back the DNS change and moved all connections back to the previous working gateway ring after validation
- Action items
- Add checks, testing and sign-off procedures before switching production gateway rings
- Add Azure Databricks alerts that detect multiple databases becoming unavailable within a short time
IL-0491Squarespace's CDN origin fleet fell below its healthy node threshold, and images, scripts and stylesheets failed to loadSquarespace2019- Symptoms
At 12:10 AM ET on Tuesday, February 12, 2019, Squarespace's monitoring alerted the on-call engineer for the CDN origin fleet that the fleet had fallen below a safe number of healthy nodes. Requests to static.squarespace.com and static1.squarespace.com failed, so images, scripts and style sheets did not load for some sites, and the status page later reported elevated error rates serving media and stylesheets.
- Trigger
At 10:30 PM ET on February 11, an engineer started a maintenance operation across the CDN origin fleet. The operation kept running in the background after the engineer believed it had been terminated.
- Root cause
- Component
- Contributing factor
- Detection
The monitoring system alerted the CDN origin fleet's on-call engineer at 12:10 AM ET when the fleet fell below a safe number of healthy nodes.
- Remediation
- Restored the CDN origin fleet, partially by 2:15 AM ET and to normal behaviour at 2:20 AM ET
- Action items
- Revise the incident-response playbooks with checks and actions for this fleet, starting with an assessment of customer impact and the immediate involvement of an Incident Commander
- Improve external monitoring to assess customer impact of issues with the CDN partners and origin services more quickly
- Revise operational policies and add safeguards for issuing maintenance commands, including limiting the share of the fleet a command can operate on
- Reduce the need for direct manual maintenance operations
- Create independent failure domains and route requests automatically around unhealthy parts of the system
These 4 cases involve CDN and edge network and Database. 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 cause1
Operator error4 cases
- Component
- Contributing factor
- Organisation
IL-0568A layer 2 loop after an access switch change broke network traffic across a whole DeNA site, with mass MACFLAP logsDeNA2026IL-0378All Cloudflare R2 object writes and about 35% of reads failed when the R2 Gateway could not authenticate to storageCloudflare2025IL-0531Azure Database for MySQL Single Server and MariaDB in West US rejected every new connection for a batch of serversMicrosoft Azure2024IL-0491Squarespace's CDN origin fleet fell below its healthy node threshold, and images, scripts and stylesheets failed to loadSquarespace2019