Skip to content

fix(country): resilient lookups across transient failures - #27

Merged
Mathious6 merged 8 commits into
mainfrom
fix/country-refresh
Sep 4, 2026
Merged

Mathious6 merged 8 commits into
mainfrom
fix/country-refresh

Conversation

@Mathious6

@Mathious6 Mathious6 commented Sep 4, 2026 •

Copy link
Copy Markdown
Owner

What changed

  • Retry transient country lookup failures across rounds: 3 attempts with 1 s backoff per batch, plus one extra round for batches whose every attempt failed.
  • Type lookup errors (Http, Decode) instead of collapsing every failure into a unit error.
  • Tests pin the round behavior, the bounded give-up, and a live lookup of the previously stuck subnets.

Why

Subnets could stay stuck without a country when the lookup hit a transient failure window (local DNS intermittently failed to resolve the lookup service). v0.4.0 preserved existing values but nothing re-resolved the missing ones; every Probe now refreshes the scope's countries before speed measurements and survives short outages.

Validation

  • cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo test --locked --lib (81 tests)
  • #[ignore] live lookup test of the previously stuck subnets
  • bun run check, bun run build
  • GITHUB_REF_NAME=v0.4.1 sh scripts/check-version.sh

@Mathious6
Mathious6 merged commit 3e18a3e into main Sep 4, 2026
7 checks passed
@Mathious6
Mathious6 deleted the fix/country-refresh branch September 4, 2026 12:21
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