-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
AcceleratedDHTClient needs more resources than the ResourceManager has by default #8945
Comments
Your plan sounds reasonable to me, as long as the new limits are reasonable. Do you know what the new limits should be for a clean startup? For 2), adding a rate limit on peer dials with a knob should be sufficient for folks to work around whatever resource limitations they have. Also libp2p/go-libp2p-kad-dht#254 might help, though not a short-term mitigation. |
2022-05-05 conversation:
Current plan:
We're not tackling bigger items like:
|
2022-05-17 conversation: Part 1: Conditions for when print out an "accelerated DHT couldn't bootstrap message"
Part 2: messaging In the PR or here, lets set our outbound connections very low and then paste in what the logs look like. We also need to confirm if we can reproduce locally quickly. Lets paste here the repro steps we took. |
Exit criteria:
Should be ~equal with and or without resource manager enabled. |
Resolving since we did adjust limits There is a larger issue to address concerning experiment DHT startup here: libp2p/go-libp2p-kad-dht#770 |
I just upgrated a very large repo from v7 to v12 which succeeded according to the info reported. However I see error messages continually occurring like:
I can find no information on the process by which the logs are analyzed and changes are made to the config file to remove these repetitive error messages. The link provided in the error message is of little help in how to resolve the errors. |
@ThomasFreedman : you mentioned v12. Did you mean v0.17 (latest Kubo release)? |
Yes, that probably correct since I was upgrading to that. I just copied what was printed in the output. I see there is already a bug filed for this error condition, and one person posted his solution which I will apply. Hopefully that will resolve the problem. |
Checklist
Installation method
ipfs-update or dist.ipfs.io
Version
Config
Description
Running with the AcceleratedDHTClient enabled results in bursty connections (e.g. on startup) that result in the routing table being very small (compared to running without the resource manager enabled) and as a result not particularly functional.
Enabling debug logging on the resource manager shows that we're out of available outbound connections.
Some analysis here is still need, however AFAICT the reasons for this are:
Some options here include:
Trim()
or manually calling close on unprotected connections it recently used.Looking for feedback here on other ideas or preferences for how to handle this. My initial reaction is to go with increasing limits and have the AcceleratedDHTClient log errors when its routing table won't update properly due to resource starvation. Without the logs getting people to report issues properly will likely be difficult, and increasing the limits vs reducing the resource consumption is something we can then more easily tune over time (i.e. lower the limits as we reduce resource consumption)
The text was updated successfully, but these errors were encountered: