-
-
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
DHT announcements are not happening when using a large blockstore #9722
Comments
(reposting comment from slack) @acejam noted this is still a problem in 0.19.0-rc1 |
Quick update: We are starting to see more content drop out of the DHT. This appears to be causing some impact to our production services. |
Not sure if you've discussed this elsewhere, but have you tried (temporarily) disabling the resource manager (or increase the limits there)? Just to make sure it's not because of this. |
The context is being cancelled a 5 minutes timeout. The timeout value is defined at kubo/core/node/libp2p/routing.go Lines 186 to 193 in 1457b4f
kubo/core/node/libp2p/routingopt.go Lines 65 to 70 in 1457b4f
This was probably introduced with #9475 The quick fix is to temporarily increase these Timeout values (e.g to |
@guillaumemichel I can confirm that bumping this value to Records are now being properly announced, and the stats output now shows:
|
I don't understand why an arbitrary constant timeout is defined for all Content Routers. IMO this timeout should be content router specific, if it is needed at all. We need to make sure that the fullrt provide operation doesn't time out, or has a large enough timeout value. |
Yeah, I think there are two main issues here:
|
2023-03-24 maintainer conversation
We think the above will stop the bleeding and be good enough for the foreseeable future. |
Made the change to the router composers in libp2p/go-libp2p-routing-helpers#72, after merging next step is to plumb it into Kubo. |
@BigLep We're testing the merged fix now. |
@BigLep @guseggert I can confirm that the merged fix appears to work. We have been running 55587d8 and provides using the
Thank you! |
Thanks @acejam . Closing since this was released in 0.19.1. |
Checklist
Installation method
ipfs-update or dist.ipfs.tech
Version
Config
Description
I have observed that DHT announcements are not happening when pinning content from a node that has a large blockstore. I'm using the
AcceleratedDHTClient
on 0.18.1, but previously saw this behavior on 0.17 as well. I'm seeing this across multiple servers, and the pinned content is being stored long term.ipfs bitswap provide
runs for about 5 minutes, and does not return any error codes. However when queryingipfs dht findprovs
for any randomly selected CID, no peer ID's are returned. If I manually runipfs dht provide <cid>
, a peer ID is properly returned. However, it is my understanding that this command invokes the non-Accelerated DHT client.DHT announcement information:
Blockstore information:
The text was updated successfully, but these errors were encountered: