-
Notifications
You must be signed in to change notification settings - Fork 1.7k
chore: Fully upgrade to tokio 1.x #5872
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
Conversation
Some of the things left to do: - [ ] Move to the new `tokio-openssl` API - [ ] Figure out new way to do socket shutdown and keepalive - [ ] Work around no `poll_ready` on new tokio channels for `Pipeline` - [ ] General updates and cleanup And some dependencies we're still waiting on upgrades from: - [ ] `warp` - [ ] `rusoto` - [ ] `rdkafka` - [ ] `bollard` - [ ] `mongodb` This is not a complete list, but covers most of the big ones I've run into so far. Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
A handful of dependencies released tokio 1.0 upgrades of their own, so I went ahead and bumped those. It appears the remaining few are:
The other issues we may end up semi-blocked on are the socket keepalive and shutdown APIs that have changed.
Aside from these, there is likely still a decent amount of normal upgrade work within our own code. Most seems relatively routine, but one potentially larger piece is the transition away from the |
Signed-off-by: Luke Steensen <luke.steensen@gmail.com>
FYI a 2.0 of pulsar-rs with support for tokio 1.0 is imminent. We're doing a final pass of tests, everything looks good for now |
@pablosichert assigning this to you to take it to the finish line. |
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
pulsar 2.0 with tokio 1.0 support is released |
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
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.
Phew, a lot of work to review here. LGTM from what I can tell, with a few minor (non-blocking) suggestions.
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
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.
✅ You are a hero, @pablosichert!
(I can't approve because I opened the PR)
@@ -162,7 +164,7 @@ derivative = "2.1.1" | |||
dirs-next = { version = "2.0.0", optional = true } | |||
dyn-clone = "1.0.3" | |||
encoding_rs = { version = "0.8", features = ["serde"] } | |||
evmap = { version = "10.0.2", features = ["bytes"], optional = true } | |||
evmap = { git = "https://github.com/lukesteensen/evmap.git", rev = "45ba973c22715a68c5e99efad4b072421f7ad40b", features = ["bytes"], optional = true } |
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.
For the record, this was only for this so the difference from a released version is minimal.
I believe the upstream crate has reorganized a bit for its next major version, but I'll take a look at getting us off of this soon.
Looks like we even get some tangible performance improvement here! 🚀 |
#5175
Some of the things left to do:
tokio-openssl
APIpoll_ready
on new tokio channels forPipeline
And some dependencies we're still waiting on upgrades from:
warp
rusoto
rdkafka
bollard
mongodb
(didn't seem to affect the build, but should be upgraded in the future)This is not a complete list, but covers most of the big ones I've run into so far.