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

[release/3.0] Fix driver behavior of sending Attention signal for successful Bulk Copy operation #42618

Conversation

cheenamalhotra
Copy link
Member

@cheenamalhotra cheenamalhotra commented Nov 15, 2019

Port of: dotnet/runtime#61 and dotnet/SqlClient#308

Summary

Currently when performing Bulk Copy operations with SqlClient driver, on successful completion, an Attention Signal is sent to SQL Server which is not correct behavior and should not happen.

Customer Impact

Customers wouldn't notice these attention signals being sent and the transactions would only get impacted if the Abort bit is checked during transaction prepare/commit time. This case would be easily hit with HK tables when the transaction inserts a large number of rows, hence causing all the LCs to be filled up and LC flush IO to fall behind LCs being requested for log serialization at transaction prepare time.

Regression?

No. The behavior is the original design ported from .NET Framework.

Testing

When performing tests, the transactions would always commit successfully, hence this attention signal was not noticed. A special test case will be investigated and designed using HK tables in dotnet/sqlclient test lab to cover this scenario. Since all new changes will be made in dotnet/sqlclient repository, we'll be adding new tests there in future.

Risk

Low: The fix is to not send attention signal when performing cleanups post Bulk Copy in successful scenarios.

cc: @danmosemsft @David-Engel @saurabh500

@cheenamalhotra cheenamalhotra added the Servicing-consider Issue for next servicing release review label Nov 15, 2019
@danmoseley
Copy link
Member

We are not going to service 3.0 much longer as it will be superseded by 3.1. For simplicity, I'm going to close this and we can discuss in #42617

@danmoseley danmoseley closed this Nov 21, 2019
@karelz karelz added this to the 3.0.1 milestone Dec 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Data.SqlClient Servicing-consider Issue for next servicing release review
Projects
None yet
5 participants