Refactor connection waiters to be cancellation safe#9671
Conversation
CodSpeed Performance ReportMerging #9671 will not alter performanceComparing Summary
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## master #9671 +/- ##
========================================
Coverage 98.65% 98.65%
========================================
Files 116 116
Lines 35482 35594 +112
Branches 4211 4221 +10
========================================
+ Hits 35003 35116 +113
Misses 321 321
+ Partials 158 157 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
This reverts commit f1ccbbd.
|
#9670 No longer reproducible with these changes .. but now we can go over the limit. Previously it was over-enforcing. Now its under-enforcing |
|
The core problem is we have three sources of truth for limits and there is no synchronization between them
|
|
Any await after calling |
|
This is turning out to be really hard to fix with the current design |
…ded to use it in connect which we want to catch
|
Testing looks good, and it looks like we aren't regressing performance now |
Backport to 3.10: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 37d9fe6 on top of patchback/backports/3.10/37d9fe68387e3672604ff5b183f48538bca34f16/pr-9671 Backporting merged PR #9671 into master
🤖 @patchback |
Backport to 3.11: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 37d9fe6 on top of patchback/backports/3.11/37d9fe68387e3672604ff5b183f48538bca34f16/pr-9671 Backporting merged PR #9671 into master
🤖 @patchback |
(cherry picked from commit 37d9fe6)
(cherry picked from commit 37d9fe6)

A deadlock that could occur while attempting to get a new connection slot after a timeout.
The connector was not cancellation-safe.
fixes #9670
will need to backport #9600 to 3.10 as well