Cases2 cases
1 to 2 of 2
- Symptoms
For about two weeks in August 2026, some PyPI users got intermittent 502 and 503 errors when downloading files from files.pythonhosted.org, and installations from PyPI failed. The first two reports of persistent 502s were opened in the support tracker on 17 August.
- Trigger
A partial rollback during a canary deployment inside Fastly's network, whose canary cohort had included PyPI's traffic for a number of years, left the caching configuration of one Seattle point of presence reverted while the routing configuration in front of it was not.
- Root cause
- Component
- Contributing factor
- Detection
Users filed reports in the PyPI support tracker; one report isolated the 502s to a single Fastly cache node using the x-served-by headers of the failing responses.
- Remediation
- Fastly's network operations removed the routing override that sent part of PyPI's traffic to the affected point of presence
- Fixed the B2-to-S3 fallback for the case where B2 does not respond at all (infra#237)
- Exempted suffix and multi-range requests from segmented caching (infra#241, infra#243)
- Fastly patched the canary configuration bug and removed all PSF traffic from its canary cohort
- Moved the segmented-caching exemption check after URL normalization (infra#245)
- Action items
- Improve the logging configuration of the file hosting service (infra#238)
- Reject HTTP methods that a file host should not receive (infra#239)
- Follow a support ticket with Fastly about segmented-caching range handling, and revert PyPI's own handling code once Fastly fixes it
- Return to Fastly's canary program once clearer controls and notifications exist around that traffic
- Hire an infrastructure engineer, partly for PyPI, to catch conditions like this earlier
- Lessons
None of the PyPI configuration bugs were new; they had been in the configuration for a while and came out only when real traffic on large files with range requests forced an investigation. The 5xx baseline was already noisy, so the start of the Fastly problem was easy to miss, and part of that noise turned out to be one of the bugs.
IL-0257canva.com went down for about 50 minutes when 1.5 million requests per second OOM-killed every API Gateway taskCanva2024- Symptoms
On 12 November 2024, after a new version of Canva's editor was deployed at 8:47 AM UTC, the editor's object panel stayed in a perpetual loading state for many users, particularly in Asia. Then from 9:08 AM UTC to about 10:00 AM UTC canva.com was unavailable and all requests to it failed.
- Trigger
At 8:47 AM UTC a new version of the Canva editor page was deployed, and client devices began fetching its new static assets through Cloudflare while the network path between Cloudflare's Singapore and Ashburn locations was losing packets.
- Root cause
- Component
- Contributing factor
- Remediation
- Added a temporary Cloudflare firewall rule at 9:29 AM UTC that blocked all traffic at the CDN so new API Gateway tasks could start
- Redirected canva.com to the status page
- Restored traffic gradually, starting with Australian users under strict rate limits
- Action items
- Write a runbook for rerouting, blocking and progressively restoring traffic
- Show users a more informative error page when canva.com is unavailable
- Raise the baseline number of API Gateway tasks and the memory of each task
- Add load shedding rules to the API Gateway for similar traffic patterns
- Load test the API Gateway regularly
- Deploy the patch for the thread-locking bug in the telemetry library
- Add multithreaded tests for the contended code path to the telemetry library microbenchmark suite
- Use page load completion events as a second canary indicator for page asset releases
- Experiment with adding another rollout stage to the canary to give more time to detect issues
- Add timeouts so user requests do not wait excessively long for assets
- Work with Cloudflare to understand the system interactions behind the incident
These 2 cases involve CDN and edge network and API gateway. 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
Dependency failure2 cases
- Contributing factor
- Organisation