Conversation
8420b43 to
d671b98
Compare
d671b98 to
656e751
Compare
d500c21 to
2be94a9
Compare
2be94a9 to
c58291b
Compare
|
Just tested this with #2805 and this PR seems to fix that issue 🎉 |
|
Yup, pretty sure it's not flaky. If I test with If I run it with the |
|
The only reason I even checked is this item in your list above:
|
|
It's perfectly possible that this PR doesn't fix all races that can lead to the issue in #2805, but it seems to have at least fixed the race that the reproducer is triggering. |
b6d4757 to
7bb8521
Compare
97c3af6 to
0dd92b4
Compare
0baa295 to
53ad46f
Compare
|
Should this be added to https://github.com/launchbadge/sqlx/milestone/10 ? I would love to get the security toil reduction this would enable, and hate it if this was missed due being forgotten at some critical time :) |
|
This won't be forgotten, but it still needs more work and I don't want to hold the 0.9.0 release much longer. |
acquire()call is cancelled.acquire()should now be completely cancel-safe.PoolConnectortrait superceding bothbefore_connect(requested but not yet implemented) andafter_connectcallbacks.Future, albeit with a'staticrequirement for the returnedFuture(instead ofBoxFuture).usizefor all connection counts to get rid of weird inconsistencies.Breaking Changes
Pool::set_connect_options()andget_connect_options()have been removed. Instead, implement the newPoolConnectortrait (or use a closure) using something likeArc<RwLock<impl ConnectOptions>>.PoolOptions::after_connect()has been removed. Instead, implementPoolConnector(or use a closure), open a connection and then apply any operations necessary.PoolOptions::min_connections(),PoolOptions::max_connections()andPool::size()now useusizeinstead ofu32.Fixes #3513
Fixes #3315
Fixes #3132
Fixes #3117
Fixes #2848