Incident Library
Applied filters SymptomIntermittent timeoutsFactorMonitoring blind spotOrganisationHerokuClear 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

Cases1 case

1 to 1 of 1

  1. Symptoms

    From about 22:00 UTC on 18 July 2025, some apps on Heroku's Common Runtime that used Router 2.0 had their HTTP requests balanced unevenly across their web dynos. The dynos that got more requests were overloaded, and the apps saw higher HTTP request latency, timeouts, reduced availability and various Heroku error codes in application logs and dashboards.

    Trigger

    From 22:00 UTC on 18 July 2025 router instances began hitting a code condition that broke the entropy metadata Router 2.0 uses to choose dynos. The condition had been in the code since the Router 2.0 beta and became more likely as more HTTP requests went through the new router, with about 94% of Common Runtime apps migrated.

    Root cause
    Component
    Contributing factor
    Detection

    No alert fired. Heroku Support received the first customer reports of uneven request balancing at 16:46 UTC on 20 July 2025, and an internal investigation was declared on 22 July.

    Remediation
    • Advised affected customers to disable Router 2.0 and fall back to the legacy router
    • Cycled the production router fleets, which improved load balancing for affected apps
    • Deployed the router fix to staging, then rolled it out to all Common Runtime partitions by 00:12 UTC on 23 July
    Action items
    • Introduced gating and notifications so that load balancing behaviour regressions do not occur
    • Communicate the timeline and send reminders to apps still on the legacy router before automated migrations resume
Check your cluster for this

This case involves Cloud load balancer. 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