Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases7 cases

1 to 5 of 7

  1. Symptoms

    On 25 March 2026 from about 16:40, public sector organisations on the PSBA network across Wales lost connectivity at their sites. The Service Desk saw about 400 alerts at 16:58, when a Major Incident was declared, about 1,500 at 17:05 and about 5,000 across Wales at 17:08, while councils, a fire and rescue service and Natural Resources Wales phoned in to report sites down.

    Trigger

    At 16:30 a route map change was applied, outside formal change control, on a PSBA core Provider Edge (PE) router to leak MPLS VPN routes, so that legacy Capita-operated UPS devices in a /16 subnet could be managed by BT/PSBA. The change was removed at 16:40.

    Root cause
    Component
    Contributing factor
    Detection

    At 16:57 Mid Wales Fire & Rescue Service phoned in a loss of connectivity at its Presteigne site, and at 16:58 a case was opened in Service Now for a group of about 400 alerts and a Major Incident was declared.

    Remediation
    • Removed the route map change from the PE router at 16:40
    • Changed QoS on the BGP to bring back the management links, after which alarms cleared
    • Cleared routes and reset inbound BGP advertisements, which did not stop the default route being advertised
    • Corrected the configuration issue affecting the internet learned route at 01:02
    • Performed a controlled reload of the affected router at 01:10, which restored customer services and management connectivity
    Action items
    • Reinforce change control requirements with an internal briefing on formal change submission, the risks of unplanned changes and roles during planned and emergency changes
    • Create a dedicated Microsoft Teams channel as the single real-time communication point for all live P1 and Major Incidents
    • Explore disaster recovery and business continuity test exercises for major or P1 incidents
    • During loss of management access, have all technical teams assess customer impact from what reporting organisations provide, captured and shared in real time by the Service Desk and Incident Management
    • Investigate a fixed link between Capital Quarter and the PSBA management racks in Vantage Data Centre at Newport, with dedicated management terminals and two-factor authentication for access outside the secure management platform
    • Improve initial triage with stronger probing questions when incidents are reported and keep reassessing and communicating impact throughout the incident
    • Review the P1 and Major Incident process so escalation criteria and timeframes are clearly defined, and train the Service Desk to recognise and escalate them early
    • Review the PSBA estate for legacy configuration, set processes and timeframes for removing it and add controls so it is not introduced again
    • Review email and SMS distribution lists and processes and reinforce Service Desk training on customer communications during P1 and Major Incidents
    Lessons

    The report names eight lessons: a change was made outside PSBA change control; internal communication during the Major Incident was slow and fragmented; the organisation was not ready for a network-wide incident; losing management access stopped the resolver groups from seeing the network state and customer impact; the resolver groups did not understand customer impact in enough detail, which delayed finding the root cause; escalation to PSBA management was slow; legacy configuration left in the network contributed; and email and SMS communications did not reach some customers in time.

  2. Symptoms

    On Sunday March 15, 2026 at about 15:00 GMT, right after collation changes were applied to the customer_entitlements and customer_products tables, database CPU on Autumn's production Postgres spiked and queries began to fail. About 10% of API requests to Autumn failed until 16:15 GMT.

    Trigger

    A migration that aligned column collations across related tables changed the collation of customer_entitlements and then customer_products on the production database.

    Root cause
    Component
    Contributing factor
    Remediation
    • Shut down all application connections to the database
    • Reverted the collation changes
    • Ran ANALYZE to rebuild the planner statistics and restarted
    Action items
    • Do all future column and schema migrations with the duplicate-dual-write-cutover pattern: add a new column, dual-write, backfill in small batches, create indexes concurrently, then cut over
    • Add a status page
    • Consider making the check and track SDKs fail open by default
  3. Symptoms

    From 06:54 US/Pacific on 8 January 2025, Google Cloud Pub/Sub customers in ten regions could not publish messages or subscribe to them. Internal telemetry alerted Google engineers at 07:03, nine minutes after the impact started.

    Trigger

    From 06:54 to 07:30 US/Pacific a bad service configuration change, which over-restricted the permission to access the regional metadata database of Cloud Pub/Sub, was rolled out to multiple regions within a short time.

    Root cause
    Component
    Contributing factor
    Detection

    Internal telemetry alerted Google engineers at 07:03 US/Pacific, nine minutes after the impact started. A second internal telemetry alert at 09:07 showed the ordered subscriptions that could not consume their backlog.

    Remediation
    • Rolled back the configuration change that over-restricted access to the metadata database
    • Identified and repaired every affected ordered subscription so the subscriptions received their backlog
    Action items
    • Enforce parity between pre-production and production environments so configuration changes are caught before production
    • Review change management so configuration changes roll out progressively according to their priority
    • Add monitoring that detects ordering metadata inconsistency
    • Fix the bug in Cloud Pub/Sub ordering metadata management that left ordered messages undelivered
  4. Symptoms

    On 2 August 2024, two minutes after Clever Cloud's data team started a minor rolling upgrade of its Apache Pulsar messaging cluster to release 3.3.1, monitoring showed connection problems with the messaging platform. Producing data into the event bus failed, the backlog grew while no new producers or consumers succeeded, and agents on hypervisors, log forwarders on load balancers and deployments were affected. At 10:20 CEST the Pulsar cluster was declared defective.

    Trigger

    At 10:06 CEST the data team began a minor rolling upgrade of Apache Pulsar to release 3.3.1 that also switched on a new balancer for bundle placement: the extensible load manager (loadManagerClassName=org.apache.pulsar.broker.loadbalance.extensions.ExtensibleLoadManagerImpl) with the TransferShedder load shedding strategy instead of the native OverloadShedder.

    Root cause
    Component
    Contributing factor
    Detection

    Monitoring showed connection issues to the messaging platform at 10:08 CEST, two minutes after the upgrade began, and engineers confirmed at 10:09 that producing data into the event bus failed. Monitoring did not catch the first broker's failure to create the system topic, because that broker stayed up.

    Remediation
    • Rolled back the new unload strategy while keeping Pulsar 3.3.1
    • Shut down the client proxies to release the brokers
    • Switched deployment notification events to RabbitMQ as a workaround
    • Stopped all brokers and started only one, which loaded the conflicting system topic so it could be deleted, then started all brokers
    • Restarted the messaging proxies, after which messages flowed again
    • Stopped the watchdog so it would not reload every failed component, and started components one by one
    • Disabled Metrics API ingestion to protect its storage cluster
    • Stopped the long-term storage for observability metrics (the Warp10/FoundationDB cluster) to free resources
    • Put all monitoring instances in all regions into maintenance so they stopped sending events to the orchestrator
    • Killed the overloaded small VMs one by one
    • Flagged 12 hypervisors to drain workload and shut down some load balancers to free CPU and memory
    • Cleaned zombie VMs to speed up recovery
    • Cleared the monitoring alert queue so queued events would not flood the orchestrator
    • Added parked hypervisors to EU-FR-1 to relieve the overloaded ones
    • Removed an overloaded RabbitMQ node from the cluster used by the orchestrator
    • Rolling-restarted every regional L7 load balancer and every L4 load balancer
    • Restarted all HV agents and the add-on provider APIs
    • Destroyed all dangling VMs stuck in the stopping state
    • Re-enabled Metrics API ingestion with a ramp-up QoS policy
    Action items
    • Track KPIs for Pulsar broker and cluster health, hypervisor load, I/O and kernel panic reboots, zombie VMs, RabbitMQ broker and cluster health and deployment queue consumption, each by time of event, detection, decision and resolution
    • Deal with too many monitoring alerts
    • Look at a backup bastion, because a regional bastion is vulnerable
    • Rework the control plane recovery process
    • Rework the correlation between monitoring and orchestration
    • Revisit fault domain separation against multi-tenancy
    • Rethink runtime images and the role of the hypervisor
    • Isolate waved release upgrades of Pulsar
    • Redesign runtime images with better hypervisor integration
    • Regionalise observability for redundancy
    • Set Vector's buffer.max_events and buffer.max_size for small VMs
    • Switch Vector's buffer.type from memory, the default, to disk
    • Change Vector's buffer.when_full from block, the default, to drop_newest
    • Tune journald verbosity and SystemMaxUse on small VMs
    • Add cgroups restrictions for better process control
    • Add I/O restrictions for the VM manager
    • Detect zombie VMs better
    Lessons

    The simulation process that validates non-minor releases was not applied to minor upgrades or to small configuration changes, and this one went straight to production. Running Clever Cloud on Clever Cloud turned into a chicken-and-egg situation: recovery needed the scheduler to carry out large actions while the control plane was itself slowed and the infrastructure had no free resources. Measuring each key indicator by time of event, detection, decision and resolution showed where the team had lacked visibility or reaction and challenged established rules.

  5. Symptoms

    On 23 November 2021 at 09:39, two minutes after a change on the eqiad core routers, alerts fired because Icinga in eqiad could not reach the public text-lb address in eqsin (Singapore). For about 12 minutes eqiad could not reach hosts in other data centers, such as the cache PoPs, through their public IP addresses.

    Trigger

    At about 09:37 a change on cr1-eqiad and cr2-eqiad, made as part of task T295672 to influence BGP route selection, removed a BGP setting that sets the BGP "MED" attribute to the OSPF cost of reaching the BGP route's next hop.

    Root cause
    Component
    Contributing factor
    Detection

    Icinga health checks against edge caching clusters alerted at 09:39; the first alert was Icinga in eqiad failing to reach the public text-lb address in eqsin.

    Remediation
    • Reverted the configuration change on both eqiad routers
    • Forced a reset of the BGP session between the two eqiad routers
    Action items
    • Updated T295672 with further detail on the incident and a proposal to adjust the BGP sessions to address the "second IXP port" issue and prevent this from happening again
Check your cluster for this

These 7 cases involve BGP routing 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

Configuration change7 cases

  1. IL-0400 Public sector sites across Wales lost connectivity for over 8 hours as a PE router wrongly advertised a default route
    PSBA2026
  2. IL-0487 Autumn's Postgres CPU spiked and about 10% of API requests failed after a collation change left the main query unindexed
    Autumn2026
  3. IL-0528 Cloud Pub/Sub could not publish or subscribe in ten regions, and some ordered subscriptions stayed stuck for hours
  4. IL-0285 Clever Cloud's Pulsar brokers stalled in a minor upgrade, then hypervisors overloaded and crashed with kernel panics
  5. IL-0266 Eqiad routers looped traffic between each other after a BGP MED change and could not reach other sites' public IPs
  6. IL-0228 IPv4 routing across OVHcloud's global network broke after a router change put the full internet routing table into OSPF
  7. IL-0292 App Engine Memcache was down in all regions for 1 hour 50 minutes when its global datacenter mapping could not be read