-
-
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
fix: remove timeout on default DHT operations #9783
Conversation
This removes the timeout by default for DHT operations. In particular this causes issues with ProvideMany requests which can take an indeterminate amount of time, but really these should just respect context timeouts by default. Users can still specify timeouts here if they want, but by default they will be set to "0" which means "no timeout". This is unlikely to break existing users of custom routing, because there was previously no utility in configuring a router with timeout=0 because that would cause the router to immediately fail, so it is unlikely (and incorrect) if anybody was using timeout=0.
a508ead
to
5fda291
Compare
For context see 5fda291
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we had another 5m timeout in func Routing(in p2pOnlineRoutingIn) irouting.ProvideManyRouter
, pushed a fix too.
Tests in go-libp2p-routing-helpers should be good enough.
Let's merge it and ask someone with big repo and announce problem (#9722) to test 0.20-rc1 when it's out (or to build from master)
@guseggert : I think this needs a changelog entry (or is that happening elsewhere)? |
|
* fix: remove timeout on default DHT operations This removes the timeout by default for DHT operations. In particular this causes issues with ProvideMany requests which can take an indeterminate amount of time, but really these should just respect context timeouts by default. Users can still specify timeouts here if they want, but by default they will be set to "0" which means "no timeout". This is unlikely to break existing users of custom routing, because there was previously no utility in configuring a router with timeout=0 because that would cause the router to immediately fail, so it is unlikely (and incorrect) if anybody was using timeout=0. * fix: remove 5m timeout on ProvideManyRouter For context see 5fda291 --------- Co-authored-by: Marcin Rataj <lidel@lidel.org>
* chore: update version * chore: update go-libp2p to v0.26.4 * fix: remove timeout on default DHT operations (#9783) * fix: remove timeout on default DHT operations This removes the timeout by default for DHT operations. In particular this causes issues with ProvideMany requests which can take an indeterminate amount of time, but really these should just respect context timeouts by default. Users can still specify timeouts here if they want, but by default they will be set to "0" which means "no timeout". This is unlikely to break existing users of custom routing, because there was previously no utility in configuring a router with timeout=0 because that would cause the router to immediately fail, so it is unlikely (and incorrect) if anybody was using timeout=0. * fix: remove 5m timeout on ProvideManyRouter For context see 5fda291 --------- Co-authored-by: Marcin Rataj <lidel@lidel.org> * chore: bump go-blockservice to v0.5.1 * chore: update version * chore: update changelog for v0.19 --------- Co-authored-by: Jorropo <jorropo.pgm@gmail.com> Co-authored-by: Gus Eggert <gus@gus.dev> Co-authored-by: Marcin Rataj <lidel@lidel.org>
This removes the timeout by default for DHT operations. In particular this causes issues with ProvideMany requests which can take an indeterminate amount of time, but really these should just respect context timeouts by default. Users can still specify timeouts here if they want, but by default they will be set to "0" which means "no timeout".
This is unlikely to break existing users of custom routing, because there was previously no utility in configuring a router with timeout=0 because that would cause the router to immediately fail, so it is unlikely (and incorrect) if anybody was using timeout=0.