quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.76k stars 380 forks source link

0.11.0 release planning #1737

Closed djc closed 4 months ago

djc commented 8 months ago

Blocking issues:

We might want to try to push these over the finish line:

Ralith commented 8 months ago

I think #1729 subsumes #1692, since you'll no longer need heap allocation to transform Transmits.

complexspaces commented 8 months ago

I don't know if rustls-native-certs ever supported Android (it seems like it didn't?), but it might be worth adding a small section to the README redirecting to the Android setup section of rustls-platform-verifier now if you anticipate Android users.

Ralith commented 8 months ago

We've had a few of those; good thought.

gabrik commented 5 months ago

is there any ETA for this?

djc commented 5 months ago

There is not -- if your project depends on it, please consider sponsoring.

gabrik commented 5 months ago

I can help on #1715 if needed

djc commented 5 months ago

Sure, if you want to finish up my WIP commit there to get it to compile, addressing the open comments, and do the same thing for the server side, that would be welcome.

djc commented 5 months ago

We should also consider these PRs, which include semver-incompatible changes

And would be nice to include these -- but they don't include semver-incompatible changes, so can go in later:

djc commented 5 months ago

@flub recently discussed some benchmarking results in https://github.com/quinn-rs/quinn/pull/1729#issuecomment-2021022434 which indicate that there might be a performance regression on main compared to 0.10. @flub would you be able to run something like a bisection to figure out what regressed performance? @lijunwangs do you have a setup for benchmarking changes? Would be good to make sure there are no surprises.

lijunwangs commented 5 months ago

We don’t have solid Quinn performance test tool. But I do confirm that when I applied the main branch based code into a test environments where ~300k pps are going on, I did noticed increased packet processing time measured from the first chunk received until the last chunk is received. We have fixed max packet size about 1232 bytes in our application. And I also noticed increased stream read timeout during that. So we do need to investigate the performance impacts

flub commented 5 months ago

@flub recently discussed some benchmarking results in #1729 (comment) which indicate that there might be a performance regression on main compared to 0.10. @flub would you be able to run something like a bisection to figure out what regressed performance?

Yes, I still intend to do some followup on this. A straight bissection is a bit tricky right now since I can't drive our perf infra from the cli currently but have to go via commits and github actions. But I'll see what we can do.

It may take some time though, do you have any rough dates in mind I should be aware off?

djc commented 5 months ago

Probably a few more days until release, but could perhaps hold it if that helps.

gretchenfrage commented 5 months ago

Probably is important to push through #1821 before release, right? Because it fixes a bug which did not exist in the previous release.

Ralith commented 5 months ago

Yep, that's a blocker.

flub commented 5 months ago

Apologies for taking a while, I've made some attempts at bisecting the performance regression and can't really identify anything reproducible and certain enough. The only path remaining for me is to bisect with porting our entire stack to each commit in the bisection. This is maybe not as much work as I fear, but also I'm entirely out of time to spend on this for now.

The good news for you however is that I can't really observe this in isolation in just Quinn. So it probably is something affecting the way we (ab)use Quinn in our stack, which is something not as concerning for holding up your release.

djc commented 5 months ago

@flub thanks for spending time on this and giving us your feedback!

0x000C0A71 commented 4 months ago

Is there an update on this? By the looks of it, everything that blocked this has been resolved.

djc commented 4 months ago

I think the current state is that @Ralith is looking into fixing #1803. Not sure how likely that is to include breaking API changes?

Ralith commented 4 months ago

https://github.com/quinn-rs/quinn/issues/1803 should be completely invisible to the public API, so it doesn't need to block. I do think I can wrap it up this week, though, so it might be nice to snag it anyway. No strong opinion.

djc commented 4 months ago