-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Description
Done Criteria
A Kubo node with Routing.Type=auto doesn't attempt to be a DHT server if the following additional conditions aren't met:
- Swarm.ResourceMgr.System.ConnsInbound > 800 AND
- Swarm.ResourceMgr.System.StreamsInbound > 800 AND
- Swarm.ResourceMgr.Protocol.kaddht.StreamsInbound > 800 AND
- Swarm.ConnMgr is enabled
(Existing logic of ensuring the node is publicly dialable will still apply.)
- Code change (above)
- Docs change: https://github.com/ipfs/kubo/blob/master/docs/config.md#routingtype
- Changelog addition
Why Important
If a "dhtserver" node advertises itself to the DHT but has too-low of hard Swarm.ResourceMgr limits, then it won't be able to function and be of value to the DHT and instead degrades performance.
Notes
- Kubo maintainers have observed instances of this happening in practice.
- See notes in Computed default ResourceMgr limits account for ConnMgr HighWater and are sufficiently high #9545 about:
- Why 800
- Why
Swarm.ResourceMgr.System.StreamsInboundin addition toSwarm.ResourceMgr.System.Streamsnbound
Metadata
Metadata
Assignees
Labels
No labels