Skip to content

Retry 503 with Retry-After, concurrency 4, 45s timeout, jitter - #4

Merged
yesnet0 merged 2 commits into
mainfrom
fix/overload-retry
Oct 9, 2026
Merged

yesnet0 merged 2 commits into
mainfrom
fix/overload-retry

Conversation

@yesnet0

@yesnet0 yesnet0 commented Oct 9, 2026

Copy link
Copy Markdown
Member

lookup.disclose.io sheds with 503 lookup-overloaded when its ~8 resolver slots are full (120 in the week to 2026-10-09). dio-lookup retried only 429, so shed hosts became error rows.

  • Retry 429 and 503, honoring Retry-After (capped 30s) plus up to 1s jitter.
  • Default concurrency 5 -> 4.
  • 45s request timeout (lookups can take ~30s; giving up earlier leaves the server working for nobody).
  • Version 0.2.1. Not published to npm.

Tests: 22/22; a mutant without the 503 retry fails the new test. Companion: disclose/lookup.disclose.io fix/overload-503 (Retry-After now 15s).

lookup.disclose.io sheds work with 503 lookup-overloaded when its ~8 resolver
slots are full. dio-lookup retried only 429, so a shed host came back as an
error row. Lookups can take ~30s, so give up no sooner than 45s, and default to
4 workers so a single scan does not occupy every slot.
Workers shed in the same instant otherwise retry in the same instant.
@yesnet0
yesnet0 merged commit 221877a into main Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant