[release/3.1] Fix Connection Resiliency in SqlClient#42614
[release/3.1] Fix Connection Resiliency in SqlClient#42614Anipik merged 1 commit intodotnet:release/3.1from
Conversation
|
@Anipik please merge when ready for 3.1.2 changes. |
|
Moved to Mar as per Tactics. Will need to be explicitly approved for Feb, if required. |
|
Moved back to 3.1.2 per tactics. |
|
Hi - it would be really nice to get this fix in the next servicing release. If I'm not mistaken we need to revert to .NET Core 2.1 to have a supported version of SqlClient where connection resiliency works correctly? |
|
@nycdotnet this made 3.1.2 which is expected to ship on patch Tuesday in February - looks like Feb 11th. Your options are to get by until then, or possibly run on 2.1 in the meantime if your app allows. Or, if neither are possible, you might be able to patch this binary on your installation using a daily build from here. |
|
Many thanks. I appreciate everyone's efforts on this! |
|
@vivmishra corrected me on the date above - we're working to about a week later than the date above. As with any servicing dates, that is a goal and is subject to change as we go through validation. |
Port of: dotnet/runtime#62 and dotnet/SqlClient#310
Original issue dotnet/SqlClient#304
Summary
Connection Resiliency is an important feature in System.Data.SqlClient which stopped working post PR
#34047 (ie, in 3.0) as a breaking change got introduced.
Customer Impact
Connections once idle cannot be restored and users start getting exceptions "The connection is closed".
Regression?
Yes. Regression was introduced in System.Data.SqlClient v4.7.0-preview.19073.11.
Testing
This feature was not being tested in CI hence the bug flowed over. We are working on adding tests in dotnet/sqlclient to test this feature and ensure it doesn't escape in future. Since all new changes will be made in dotnet/sqlclient repository, we'll be adding tests there in future.
Risk
Low: The fix is to unwrap
Task.Factory.StartNewcall which was modified fromTask.Run, has been tested and verified.cc: @danmosemsft @David-Engel