Skip to content

Conversation

@lidel
Copy link
Member

@lidel lidel commented Nov 19, 2025

This PR fixes two issues with the GetClosestPeers endpoint:

  1. endpoint returned HTTP 200 with empty results instead of actual DHT peers
  2. when DHT disabled, returned HTTP 200 with empty results instead of error

IIUC during rebase of PR #124 (commit 0dad3f7) when integrating with autoconf refactor (PR #123 / ec76365), the dhtRouters initialization was accidentally omitted from server.go. the autoconf PR renamed getCombinedRouting to combineRouters and changed its signature, but the rebase failed to preserve the dhtRouters creation line that existed in commit 42bd221.

This PR fixes that and now GET /routing/v1/dht/closest/peers/{cid} returns HTTP 200 with results OR HTTP 500 if DHT is not available.

cc @hsanjuan @gammazero for sanity check if I got this right

…sabled

fixes two issues with the GetClosestPeers endpoint:

1. endpoint returned HTTP 200 with empty results instead of actual DHT peers
2. when DHT disabled, returned HTTP 200 with empty results instead of error

root cause:
during rebase of PR #124 (commit 0dad3f7) when integrating with autoconf
refactor (PR #123 / ec76365), the dhtRouters initialization was accidentally
omitted from server.go. the autoconf PR renamed getCombinedRouting to
combineRouters and changed its signature, but the rebase failed to preserve
the dhtRouters creation line that existed in commit 42bd221.

changes:
- server.go:201-208: add explicit dhtRouters creation with caching and
  sanitization, similar to original 42bd221 implementation
- server.go:232: wire dhtRouters to composableRouter.dht field
- server.go:338: update combineRouters signature to accept host.Host
  parameter needed for GetClosestPeers peerstore lookups
- server_routers.go:73-77: return routing.ErrNotSupported instead of empty
  iterator when DHT is nil, resulting in HTTP 500 instead of misleading
  HTTP 200
- server_test.go:16,20,24: update combineRouters test calls with new signature
- server_dht_test.go:355-379: add test verifying HTTP 500 when DHT disabled
gammazero
gammazero approved these changes Nov 19, 2025
@hsanjuan hsanjuan merged commit 72b34fb into main Nov 20, 2025
8 of 9 checks passed
@hsanjuan hsanjuan deleted the fix/getclosestpeers-nil-dht-router branch November 20, 2025 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants