Skip to content

Fix transient fault handling for Pooled connections - #637

Merged
cheenamalhotra merged 1 commit into
dotnet:masterfrom
cheenamalhotra:fixTransientFaultHandling
Jul 21, 2020
Merged

Fix transient fault handling for Pooled connections#637
cheenamalhotra merged 1 commit into
dotnet:masterfrom
cheenamalhotra:fixTransientFaultHandling

Conversation

@cheenamalhotra

@cheenamalhotra cheenamalhotra commented Jul 8, 2020

Copy link
Copy Markdown
Member

All versions of SqlClient (including System.Data.SqlClient) that support Transient Fault Handling do not reset the connection before retrying for transient fault handling cases and if Azure connections fail to connect first time due to server timeout, the next round of connect fails with below error:

Type=System.InvalidOperationException.Message=Internal .Net Framework Data Provider error 6.

When pooling is disabled, apps are able to connect with Transient Fault Handling.
The PR fixes this issue for pooled connections.

NuGet package for testing: Published Artifacts

@JRahnama

JRahnama commented Jul 8, 2020

Copy link
Copy Markdown
Contributor

Logic wise LGM, but how can we test transient errors? Is it possible to have tests to do so?

@cheenamalhotra

Copy link
Copy Markdown
Member Author

Transient errors occur on Database side, so I don't think we can trigger faults on server side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants