Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

[release/3.1] Fix Connection Resiliency in SqlClient #42614

Merged
merged 1 commit into from
Jan 14, 2020

Conversation

cheenamalhotra
Copy link
Member

@cheenamalhotra cheenamalhotra commented Nov 15, 2019

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.StartNew call which was modified from Task.Run, has been tested and verified.

cc: @danmosemsft @David-Engel

@cheenamalhotra cheenamalhotra added the Servicing-consider Issue for next servicing release review label Nov 15, 2019
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Nov 26, 2019
@leecow leecow added this to the 3.1.2 milestone Nov 26, 2019
@danmoseley
Copy link
Member

@Anipik please merge when ready for 3.1.2 changes.

@vivmishra
Copy link

Moved to Mar as per Tactics. Will need to be explicitly approved for Feb, if required.

@vivmishra vivmishra modified the milestones: 3.1.2, 3.1.3 Jan 9, 2020
@danmoseley danmoseley modified the milestones: 3.1.3, 3.1.2 Jan 14, 2020
@danmoseley
Copy link
Member

Moved back to 3.1.2 per tactics.

@Anipik Anipik merged commit fb8dfb6 into dotnet:release/3.1 Jan 14, 2020
@cheenamalhotra cheenamalhotra deleted the port-PR310-SqlClient-3.1 branch January 14, 2020 19:58
@nycdotnet
Copy link

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?

@danmoseley
Copy link
Member

@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.

@nycdotnet
Copy link

Many thanks. I appreciate everyone's efforts on this!

@danmoseley
Copy link
Member

@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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants