Harden RDAP rate-limit handling: one retry on 429 + log a counter #4
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up from the 2026-08-16/17 session (no evidence we're currently being limited — a live probe of four
.comdomains came back clean — but we have no way to know historically).Today: a Verisign/registry
429maps tostatus: "unknown"with detail "Registry rate-limited the lookup" (src/lib/rdap.ts), shown as grey unclear. Deliberately not cached, so the next run retries. Nothing is logged, so a past rate-limit is invisible after the fact — and a redeploy wipes the container log anyway.Two cheap hardenings, in order of value:
checkViaRdap. Registry limits are bursty and a single backoff usually clears it; costs nothing when there's no 429. Keep it to ONE retry — we're an anonymous client on someone else's public endpoint.rdap.429 <tld>) soapp_logscan answer "did we get limited?" instead of guessing.Constraints that must not be relaxed while doing this: 60 domains/request, 8-wide concurrency, per-IP token bucket, 10-minute result cache (see CLAUDE.md "Availability — the trap"). Note paging now appends (v0.6.0), so a long session issues more total lookups than before — this got slightly more relevant.