-
Notifications
You must be signed in to change notification settings - Fork 96
Sprint Proposal: Connection Closing #439
Comments
@whyrusleeping guessing this needs to be discussed still, but as far as a metric for choosing peers to disconnect from are you thinking something related to Bitswap metrics (e.g. Also, I'd be interested in joining this sprint when it comes around. |
Yes this is at first more about getting rid of unneccessary connections. Right now we don't ever disconnect unless there's network problems underneath. |
Gotcha, thanks Lars. @lgierth @whyrusleeping Given my relative lack of IPFS experience, would there be anything in particular I could familiarize myself with if I wanted to be useful in this sprint? |
@dgrisham Yeah, I would make sure youre familiar with kademlia DHTs, and some of the characteristics that ours has in particular (including things like "we use tcp by default right now"). Basically get familiar with all the reasons ipfs nodes need to talk to eachother and why. Past that, theres this issue: libp2p/go-libp2p#45 that doesnt have much, but should be worth reading through. This problem is really not a super technical one, it just requires a good amount of thinking about heuristics. I was thinking of doing something like an LRU, but have the 'use' factor be determined by useful work between peers, so making random dht queries or responding to them shouldnt cause us to keep connections open unnecessarily). There will also be a lot of experimental work to be done, this will likely involve parsing eventlogs ( If you need any help finding anything or have any questions, feel free to ping me! I respond most reliably on IRC |
@whyrusleeping Awesome, thanks! I know the basics of Kademlia and related work, but only from research papers. I'll check out the IPFS DHT specs and source code to get a handle on the implementation. The experimental work should be fun, may be useful to use the test-lab to gather data/test specific cases. How soon would you expect this sprint to happen? |
linking here ipfs/js-ipfs#962 as this will be crucial for js-ipfs as well. |
This won't be super well thought through quite yet, but i'm just going to list some things that need to be done and requirements:
The text was updated successfully, but these errors were encountered: