Incident Library
Applied filters ComponentNIC, cable and switch port linkSymptomHigh latencyClear allEvery case under the filters, with no sentence; newest first.
Suggested filters Search, and the values found in your words appear here.

Graph

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

Cases4 cases

1 to 4 of 4

  1. Symptoms

    On Friday 17 November 2023, the local government administrative computer services in Korea stopped working, and the Government24 service of the National Information Resources Service was down until the next morning.

    Root cause
    Component
    Contributing factor
    Remediation
    • Replaced the two malfunctioning L4 devices with higher-performance devices, tested them and resumed Government24 at 09:00 on 18 November
    • Moved the connection on the defective port of the Daejeon center router to another port at 07:00 on 19 November
    • Swapped out the module of the router that had the fault
    Action items
    • Inspect all old equipment that may have similar port defects
    • Revise the incident handling manual so the public is told about an outage quickly
    • Announce the status of service recovery quickly through various means
    • Build integrated monitoring of critical service systems and related equipment to catch signs of failure early
    • Form a standing incident response team to send into major outages
    • Prepare administrative measures and a response manual so administrative services can still be provided when core digital government services stop
    • Name a paralysis of the national computer network as a type of disaster and accident, managed from prevention to recovery
    • Build a government-wide crisis response system for linked information systems and strengthen the control tower for outage prevention and response
    • Improve how public IT projects are run and managed, replace hardware and software past their service life quickly and make project pricing realistic
    • Reduce the reliance on outsourcing for developing and operating information systems and bring digital talent into government
    • Review the redundancy, recovery systems and network configuration of the systems in the National Information Resources Service, and its organisation
    • Work with manufacturers on a way to find and monitor failures of internal parts earlier
    Lessons

    The team said that hardware faults like this defective port also happen in the private sector, and that failures of parts inside a device are hard to catch in advance with basic monitoring and daily visual checks. Redundancy did not help because it takes over only when a whole device stops working, and a module that failed only in part did not make the device count as abnormal. The impact was wide because the defective port carried traffic for all the services.

  2. Symptoms

    On 2 November 2020 the Cloudflare API and dashboard were degraded for six hours and 33 minutes. The success rate of API queries dropped at times to 75%, and the dashboard was up to 80 times slower than normal, while Cloudflare's edge network kept working.

    Trigger

    At 14:43 UTC a network switch in a control plane data center partly failed: it kept LACP and BGP running but stopped forwarding some packets, and it recovered on its own six minutes later.

    Root cause
    Component
    Contributing factor
    Detection

    At 14:43 UTC alerts fired because the misbehaving switch was unreachable to pings. Engineers then saw that the primary authentication database was overwhelmed.

    Remediation
    • Shed load from the primary authentication database by slowing SSL certificate pushes to the edge, emails and other features
    • Moved API traffic that could use read replicas to the secondary data center by hand
    • Sent authentication calls fully back to the primary data center when the dashboard got worse
    • Rebuilt the first database replica, which put itself back into service at 21:20 UTC and returned performance to normal
    • Ramped the turned-down services back up so asynchronous processing could catch up
    Action items
    • Remove the cluster management limitation that requires rebuilding all replicas after a primary is promoted
    • Redesign the user sessions system so dashboard traffic can be steered between data centers
    • Change the auto-remediation configuration so a database replica is not promoted so quickly
    • Tune each system involved to be more resilient to failures of its dependencies
    Lessons

    Every system in the chain had redundancy and none failed completely; each only degraded, which made the chain of events much harder to model and foresee. Automating replica promotion so that it could trigger on a minute's notice had been a point of pride, but for at least one database a fast promotion can do more harm than the failure it answers. Most general-purpose cluster managers use Raft or Paxos rather than Byzantine fault tolerant protocols, accepting a rare failure mode in exchange for a protocol that is simpler to implement correctly and debug.

  3. Symptoms

    At 22:54 UTC on 21 October 2018 GitHub's internal monitoring started alerting on many faults at once. By 23:02 UTC the first responders saw that the replication topologies of many MySQL clusters were in an unexpected state: the Orchestrator API showed topologies made only of servers in the US West Coast data center. When connectivity came back, the application tier had immediately started sending writes to the new West Coast primaries.

    Trigger

    At 22:52 UTC on 21 October, routine maintenance to replace failing 100G optical equipment cut connectivity between GitHub's US East Coast network hub and its primary US East Coast data center for 43 seconds.

    Root cause
    Component
    Contributing factor
    Detection

    GitHub's internal monitoring raised alerts on numerous faults at 22:54 UTC, two minutes after the partition. By 23:02 UTC the first responders had found, by querying the Orchestrator API, that many database clusters had a topology with only US West Coast servers.

    Remediation
    • Locked the internal deployment tooling to stop further changes
    • Paused webhook delivery and GitHub Pages builds to stop jobs writing metadata
    • Restored the affected MySQL clusters from backups into the US East Coast data center and let them replicate from the West Coast
    • Found ways to restore directly from the West Coast to get around the throughput limits of downloading from off-site storage
    • Moved all database primaries back to the US East Coast data center
    • Spread read traffic over additional MySQL read replicas in the US East Coast public cloud so replication could catch up
    • Failed over to the original topology once the replicas were in sync
    • Processed the backlog of webhook events and Pages builds, pausing to raise an internal TTL after about 200,000 webhook payloads were dropped
    Action items
    • Reconcile the writes from the captured MySQL binary logs that were not replicated, automatically where possible and with user outreach otherwise
    • Make sure status updates can be published even when GitHub Pages builds are paused
    • Give more accurate public estimates of the time to repair
    • Configure Orchestrator so it cannot promote database primaries across regional boundaries
    • Move to a status reporting mechanism that shows the status of each component of the platform
    • Serve GitHub traffic from multiple data centers in an active/active/active design with N+1 redundancy at the facility level
    • Test assumptions about the system more proactively
    • Validate failure scenarios systematically, with investment in fault injection and chaos engineering tooling
    Lessons

    Orchestrator did what it was configured to do, but the application tier could not work with primaries on the other side of the country: leader election within one region is generally safe, while the sudden cross-country latency was a major contributing factor. The behaviour emerged from a partition larger than any GitHub had seen. Replication caught up along a power decay curve, not a straight line, so the linear estimates of recovery time were wrong. GitHub concluded that tighter operational controls and faster response are not enough on their own and that failure scenarios have to be validated before they happen.

  4. Symptoms

    On Friday, 30 November 2012, GitHub had sporadic bursts of slow responses and intermittent errors for the whole day and was completely unavailable for 18 minutes. One fileserver pair was offline for a large part of the day, which affected a small percentage of repositories; this was a side effect of the network problems on the high-availability clustering between the fileserver nodes.

    Trigger

    On the morning of 30 November GitHub moved the A switches in its server cabinets onto the new aggregation switches, the second half of a migration whose B-switch half had been done the day before.

    Root cause
    Component
    Contributing factor
    Detection

    Engineers saw the problems during the maintenance itself: connectivity to the B switch was lost as the last A switch was connected, and afterwards performance stayed low and the links between access and aggregation switches showed as completely saturated.

    Remediation
    • Fixed the bridge-loop problem and returned the affected B switch to service
    • Removed the partial link failure detection setting from the access switches
    • Escalated to the network vendor, which raised the case to its highest severity level
    • Restarted core processes on the aggregation switches in a Saturday 0600 Pacific maintenance window so they learned MAC addresses again
    Action items
    • Deploy the vendor's software update that fixes the MAC learning issue to the switches
    • Closely monitor aggregation-to-access capacity and keep a workaround process ready if the problem returns
    • Build a duplicate of the network stack, from the routers through the access switches, as a staging environment for testing such changes
    • Add automated network monitoring that alerts sooner on similar issues
    • Run scheduled incident response exercises with scenarios that counter tunnel vision
    • Contact the network vendor's support at the first sign of trouble in the network
    Lessons

    GitHub had designed the maintenance to have no impact on customers and clearly failed, so it plans to invest in a staging copy of its network to test such changes and catch bugs like this one. During the response the team fixated for a long time on a bridge loop, which kept it from considering other causes. GitHub had a very positive experience with the vendor's support staff, so it will contact that support team at the first sign of network trouble.

Check your cluster for this

These 4 cases involve NIC, cable and switch port link 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 cause3