Incident Library

IL-0581 MUSINSA · 2025-11-03databaseawskubernetes

29CM product display servers lost pods and saturated Netty event loops on the first day of the Igu Week sale

29CM, part of MUSINSA, held Igu Week, its largest Black Friday sale, in winter 2025. The display servers used ElastiCache Redis on cache.r7g.large nodes with a baseline network bandwidth of 0.937Gbps, about 117MB per second. ElastiCache lets traffic go over an instance type's baseline for a while by spending burst credits, which build up while traffic stays under the baseline; when the credits run out, AWS throttles the node to the baseline. Normally Redis out traffic stayed at about 0.49Gbps (about 61MB/s), within the baseline. During the sale it rose to about 2.0Gbps (about 250MB/s).

From 19:00 the nodes ran above the baseline on burst. At 20:58 the credits built up over about two hours ran out and network throttling began. Redis connections and commands started to fail, the application's readiness probes failed, and many pods went down. Because the burst period hid the problem at first, finding the cause took longer. Once the cause was found, the team scaled the Redis nodes up from cache.r7g.large to cache.r7g.2xlarge, whose baseline of 1.875Gbps is about twice the network capacity, and the outage ended the same day.

Afterwards the team added ElastiCache network metrics and Datadog alerts, and moved data that rarely changes into a Caffeine local cache in front of Redis, so that requests go from the local cache to Redis to the database. Redis command counts and outgoing bytes dropped visibly. For the longer term the team is looking at compressing cached data with Snappy and storing it as Protocol Buffers instead of JSON, which it expects to cut the size of the cached item data by about 73%.

Severity
–
Scope
29CM's main product display screens, including search results and product listings
Users affected
–
Region
–
Time to detect
–
Time to resolve
–

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.

The display servers run on Netty and Spring WebFlux, so the team first checked downstream delays and event loop delays caused by the traffic increase. Redis was checked too, but its CPU and memory metrics were all in the normal range, under 10%, so the team judged it an unlikely cause.

During the analysis, Redis health check failure logs stood out, and the team looked at the metrics again. The network metrics showed that Redis network out traffic, normally about 0.49Gbps, had risen to about 2.0Gbps at the peak, against a baseline bandwidth of 0.937Gbps for the cache.r7g.large nodes. Traffic had exceeded the baseline from 19:00, and at 20:58 Redis response delays and connection failures surged suddenly.

Symptom Probe failuresIntermittent connection failuresHigh latency

Root cause

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.

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

Action items

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.

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, In-memory cache, Liveness and readiness probes among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.