Skip to content

Fix validator locations for globe visualization#165

Merged
raymondjacobson merged 3 commits intomainfrom
fix/validator-locations-concurrent
Mar 27, 2026
Merged

Fix validator locations for globe visualization#165
raymondjacobson merged 3 commits intomainfrom
fix/validator-locations-concurrent

Conversation

@raymondjacobson
Copy link
Copy Markdown
Contributor

@raymondjacobson raymondjacobson commented Mar 27, 2026

Summary

  • Fix /api/validator-locations returning [] in production
  • buildValidatorLocations now fetches all validator /version endpoints concurrently instead of sequentially (33 validators × 5s timeout = up to 165s serial → ~10s parallel)
  • Increased cache TTL from 30s to 5min (geographic locations rarely change)
  • Increased per-request timeout from 5s to 10s for slow validators

Test plan

  • Deploy and verify https://explorer.openaudio.org/api/validator-locations returns non-empty array
  • Confirm green validator dots appear on the globe
  • Verify laser arcs fire on new blocks
  • Check play dots appear at correct locations

🤖 Generated with Claude Code

…lback

- buildValidatorLocations now fetches all validator /version endpoints
  concurrently instead of sequentially (33 validators * 5s = 165s serial
  vs ~10s parallel)
- Increased cache TTL from 30s to 5min (locations rarely change)
- Increased per-request timeout from 5s to 10s
- Fixed client-side fallback to extract https:// URLs from validators
  page instead of devnet-only regex pattern

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@raymondjacobson raymondjacobson force-pushed the fix/validator-locations-concurrent branch from 26401b9 to 546539c Compare March 27, 2026 22:43
raymondjacobson and others added 2 commits March 27, 2026 15:49
The ETL etl_validators table only has ~33 of 71 validators (missing
legacy registrations and genesis validators). Now queries CometBFT's
validators RPC directly to get the full set, cross-references with
ETL DB for endpoints, then fetches /version for coordinates.

- Query local CometBFT JSON-RPC at localhost:26657 with pagination
- 3s timeout for /version endpoint calls
- Concurrent location fetches

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add periodic validator sync that queries core GetStatus to discover all
known peers (including genesis and legacy-registered validators) and
upserts them into etl_validators. Runs every 5 minutes. Reverts
console buildValidatorLocations to simple ETL DB query now that the
ETL layer maintains a complete validator set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@raymondjacobson raymondjacobson merged commit 9ebab89 into main Mar 27, 2026
5 checks passed
@raymondjacobson raymondjacobson deleted the fix/validator-locations-concurrent branch March 27, 2026 23:22
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