Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Routing Table Refresh after we have a SearchByKadId RPC #556

Open
3 of 7 tasks
aarshkshah1992 opened this issue Apr 6, 2020 · 4 comments
Open
3 of 7 tasks

Fix Routing Table Refresh after we have a SearchByKadId RPC #556

aarshkshah1992 opened this issue Apr 6, 2020 · 4 comments
Assignees
Labels
Milestone

Comments

@aarshkshah1992
Copy link
Contributor

aarshkshah1992 commented Apr 6, 2020

We should have a SearchByKadId RPC which allows us to search for a key in the network using it's DHT Id in the XOR space and then revisit how we refresh the Routing Table/have better tests.

TODO

  • Have a SearchByKadId RPC.

  • Rewrite the refresh logic in DHT & Routing Table to use the new RPC.

  • Remove the GenRandPeerId in go-libp2p-kbucket function which can ONLY produce upto maxCpls.

  • Stop refreshing once we stop filling buckets because we are searching for CPLs that might not even have peers in the network. (Stop refreshing once we stop filling buckets #550)
    PR at Routing Table Refresh manager #601.

  • Have a solid integration test and a TestGround that ensures the Refresh works correctly.

Also,

Nice to have:

@aarshkshah1992 aarshkshah1992 self-assigned this Apr 6, 2020
@aarshkshah1992
Copy link
Contributor Author

aarshkshah1992 commented Apr 6, 2020

@Stebalien @aschmahmann.

@aschmahmann
Copy link
Contributor

Thanks for filing the issue on this, I thought we'd already filed this when we first hacked in the GenRandPeerID function but I guess not.

Worth noting that the outlier here isn't really the bucket refreshing but the FindPeer RPC. Tagging libp2p/go-libp2p#784 as a reminder.

@aarshkshah1992
Copy link
Contributor Author

@aschmahmann I am not sure what you mean.

I understand that the GetClosestPeers RPC needs to take a kadId and move away from using the FindPeer RPC. However, how is the FindPeer issue linked to what we are trying to do here ?

@aarshkshah1992
Copy link
Contributor Author

@jacobheun For the 0.6 milestone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants