-
Notifications
You must be signed in to change notification settings - Fork 125
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
Revert "perf(transport): remove Server::timers (#1784)" #1800
Conversation
This reverts commit 61fcd28.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1800 +/- ##
========================================
Coverage 93.12% 93.12%
========================================
Files 116 117 +1
Lines 36097 36362 +265
========================================
+ Hits 33614 33863 +249
- Misses 2483 2499 +16 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to 32a2a59.
Client/server transfer resultsTransfer of 134217728 bytes over loopback.
|
…lla#1800) This reverts commit 342e4e7. With mozilla#1878 merged and https://bugzilla.mozilla.org/show_bug.cgi?id=1895319 available, one can now reapply the patch removing `Server::timers`. More specifically, the actual bug fix on mozilla-central side: ``` rust let output = if self.response_to_send.is_empty() { output } else { // In case there are pending responses to send, make sure a reasonable // callback is returned. const MIN_INTERVAL: Duration = Duration::from_millis(100); match output { Output::None => Output::Callback(MIN_INTERVAL), o @ Output::Datagram(_) => o, Output::Callback(d) => Output::Callback(min(d, MIN_INTERVAL)), } }; ``` See https://phabricator.services.mozilla.com/D209574.
This reverts commit 342e4e7. With #1878 merged and https://bugzilla.mozilla.org/show_bug.cgi?id=1895319 available, one can now reapply the patch removing `Server::timers`. More specifically, the actual bug fix on mozilla-central side: ``` rust let output = if self.response_to_send.is_empty() { output } else { // In case there are pending responses to send, make sure a reasonable // callback is returned. const MIN_INTERVAL: Duration = Duration::from_millis(100); match output { Output::None => Output::Callback(MIN_INTERVAL), o @ Output::Datagram(_) => o, Output::Callback(d) => Output::Callback(min(d, MIN_INTERVAL)), } }; ``` See https://phabricator.services.mozilla.com/D209574.
It appears that PR #1784 caused some test failures (failed tests on windows). After reverting it, all http3 tests are passed.
Given that we are reaching the end of this cycle, I think it's probably better to revert PR #1784 first and do a proper fix later.