Cases3 cases
1 to 3 of 3
IL-058129CM product display servers lost pods and saturated Netty event loops on the first day of the Igu Week saleMUSINSA2025- Symptoms
Shortly after 29CM's Igu Week sale began on 3 November 2025, the servers for the display domain, which serve search results and product listings, showed anomalies. Some pods went down and stopped taking traffic, and the remaining pods received more traffic than they could handle and saturated their Netty event loops.
- Trigger
Igu Week, 29CM's largest Black Friday sale and its busiest traffic of the year, raised Redis network traffic to about four times normal.
- Root cause
- Component
- Contributing factor
- Detection
Anomalies on the display servers, pods going down and Netty event loops saturating, were the first sign. The Redis cause was found from Redis health check failure logs and then the Redis network metrics.
- Remediation
- Scaled the Redis nodes up from cache.r7g.large to cache.r7g.2xlarge, about twice the baseline network bandwidth
- Action items
- Extended the monitoring dashboard to show in real time whether network in and out bandwidth exceeds the baseline, with metrics such as aws.elasticache.network_bandwidth_out_allowance_exceeded and aws.elasticache.traffic_management_active
- Added Datadog alerts that fire when network bandwidth crosses a threshold
- Added a Caffeine local cache in front of Redis for data that changes rarely
- Look into compressing cached data with Snappy to reduce Redis network bandwidth
- Look into storing cached data as Protocol Buffers instead of JSON; measured on the cached Item Document data, Snappy and protobuf together are expected to cut the size by about 73%
- Keep improving the architecture for traffic growth, building on the cache restructuring, stronger monitoring and read separation already applied
- Lessons
CPU and memory metrics alone did not show the problem, so Redis needs network monitoring against the node's bandwidth baseline. Burst credits kept the nodes working for about two hours after traffic passed the baseline, which delayed the failure and made its cause slower to find.
IL-0187A brief Spring Cloud Config Server downtime failed every client application's liveness probe, because the actuator health check included the config server, and Kubernetes restarted the pods in a kill loopYonghyun Kim2025- Symptoms
While the Spring Cloud Config Server was briefly down for an upgrade, every client application began to answer its liveness probe with a failure saying it could not reach the config server.
- Trigger
A downtime upgrade of the Spring Cloud Config Server made it stop responding for a short time.
- Root cause
- Component
- Contributing factor
- Lessons
A liveness probe that includes an external dependency turns a short outage of that dependency into a restart loop of every client. Keep external dependencies out of liveness checks and handle temporary problems with readiness probes. Libraries can add health indicators to Spring Boot's actuator health endpoint automatically, so check what the probe path actually reports. The author ran another Kubernetes environment for two years without liveness probes, relying on strict readiness probes and on the application terminating itself on unrecoverable faults.
IL-0495HubSpot's internal load balancers on Kubernetes were falsely marked unhealthy and the rest collapsed under the trafficHubSpot2024- Symptoms
Between 14:20 and 15:16 UTC on 27 August 2024, some HubSpot customers could not log in to their accounts, reach their content or use HubSpot tools. Requests were slow or failed because HubSpot's internal load balancers, which run on Kubernetes and spread traffic across the backend services, were overloaded.
- Trigger
Routine operation of a critical component of HubSpot's traffic management system, from about 14:08 UTC, ran path handling updates in the load balancer stack, and an issue in that stack made those updates block health check responses.
- Root cause
- Component
- Contributing factor
- Detection
Monitoring detected widespread performance degradation across the platform at 14:23 UTC and the incident response team was mobilised. HubSpot says it had identified the issue internally by 14:20 UTC. The status page was not updated until 14:44 UTC, which left customers with outdated information.
- Remediation
- Tried to increase the capacity of the remaining load balancer instances
- Brought new load balancer instances online, which relieved the pressure and let traffic return to normal
- Action items
- Change the health check configuration so health checks do not time out falsely
- Redesign the health check system so health checks get priority and keep running during operations such as configuration updates
- Increase the capacity of the load balancers for sudden traffic spikes
- Change the load balancing architecture to detect traffic surges earlier and distribute load dynamically in real time
- Update the status page automatically for large-scale outages
- Integrate the monitoring systems more tightly with the communication tools
- Expand load testing to simulate high-traffic scenarios
- Introduce chaos engineering to test platform resilience regularly
- Add traffic pattern metrics, including the ratio of current connections to the maximum allowed
- Add auto-scaling that adjusts resource capacity to traffic patterns
- Lessons
HubSpot concluded that earlier detection of the abnormal traffic surge could have prevented the cascading failure, and that health checks have to keep running during operations such as configuration updates so that working load balancers are not removed together. The late status page update caused confusion for customers.
These 3 cases involve Liveness and readiness probes and In-memory cache. 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
Capacity exhaustion1 case
- Contributing factor
- Organisation
Dependency failure1 case
- Component
- Contributing factor
- Organisation
Software defect1 case
- Contributing factor
- Organisation