Skip to content

[6.0] Preserve distributed transactions on pooled connection reset#3114

Closed
mdaigle wants to merge 1 commit into
release/6.0from
dev/mdaigle/fix-dtc-6.0
Closed

[6.0] Preserve distributed transactions on pooled connection reset#3114
mdaigle wants to merge 1 commit into
release/6.0from
dev/mdaigle/fix-dtc-6.0

Preserve distributed transactions on pooled connection reset (#3019)

68a1075
Select commit
Loading
Failed to load commit list.
Azure Pipelines / CI-SqlClient failed Jul 23, 2025 in 1h 5m 33s

Build #19616 had test failures

Details

Tests

  • Failed: 7 (0.01%)
  • Passed: 103,635 (97.25%)
  • Other: 2,927 (2.75%)
  • Total: 106,569

Annotations

Check failure on line 0 in EXEC

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

EXEC#L0

EXEC(0,0): Error Message: 

Check failure on line 190 in build.proj

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

build.proj#L190

build.proj(190,5): Error MSB3073: The command "dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" -p:Configuration=Release -p:TargetnetcoreVersion=net8.0 -p:ReferenceType=Project --no-build -l "console;verbosity=normal" --collect "Code coverage" -p:TestSet=3 --results-directory TestResults -p:TestTargetOS=Windowsnetcoreapp --filter "category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests" "--logger:trx;LogFilePrefix=Manual-Windowsnetcoreapp-3"" exited with code 1.

Check failure on line 1043 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

Build log #L1043

Process 'msbuild.exe' exited with code '1'.

Check failure on line 0 in EXEC

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

EXEC#L0

EXEC(0,0): Error Message: 

Check failure on line 1 in Microsoft.Data.SqlClient.ManualTesting.Tests.DistributedTransactionTestWindows.Test_EnlistedTransactionPreservedWhilePooled

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

Microsoft.Data.SqlClient.ManualTesting.Tests.DistributedTransactionTestWindows.Test_EnlistedTransactionPreservedWhilePooled

Assert.IsType() Failure: Value is not the exact type
Expected: typeof(System.Transactions.TransactionAbortedException)
Actual:   typeof(System.Transactions.TransactionInDoubtException)
Raw output
   at Microsoft.Data.SqlClient.ManualTesting.Tests.DistributedTransactionTestWindows.EnlistedTransactionPreservedWhilePooled() in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/DistributedTransactionTest.Windows.cs:line 121
   at Microsoft.Data.SqlClient.ManualTesting.Tests.DistributedTransactionTestWindows.RunTestSet(Action TestCase) in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/DistributedTransactionTest.Windows.cs:line 172
   at Microsoft.Data.SqlClient.ManualTesting.Tests.DistributedTransactionTestWindows.Test_EnlistedTransactionPreservedWhilePooled() in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/DistributedTransactionTest.Windows.cs:line 56
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Check failure on line 1 in Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported

Microsoft.Data.SqlClient.SqlException : Transaction (Process ID 194) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
 
Raw output
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs:line 2133
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in /_/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs:line 774
   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, SqlCommand command, Boolean callerHasConnectionLock, Boolean asyncClose) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs:line 1464
   at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs:line 2727
   at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 5298
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 5168
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 4845
   at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 1701
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteNonQuery() in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 1221
   at Microsoft.Data.SqlClient.SqlBatch.ExecuteNonQuery() in /_/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBatch.cs:line 92
   at Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported() in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/Batch/BatchTests.cs:line 117
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Check failure on line 1 in Microsoft.Data.SqlClient.ManualTesting.Tests.AADConnectionsTest.InvalidAccessTokenTest

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

Microsoft.Data.SqlClient.ManualTesting.Tests.AADConnectionsTest.InvalidAccessTokenTest

Assert.Contains() Failure: Sub-string not found
String:    "A connection was successfully established"···
Not found: "Login failed for user"
Raw output
   at Microsoft.Data.SqlClient.ManualTesting.Tests.AADConnectionsTest.InvalidAccessTokenTest() in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectivityTests/AADConnectionTest.cs:line 118
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Check failure on line 1 in Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported

See this annotation in the file changed.

@azure-pipelines azure-pipelines / CI-SqlClient

Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported

Microsoft.Data.SqlClient.SqlException : Transaction (Process ID 201) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
 
Raw output
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs:line 2133
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in /_/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs:line 774
   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, SqlCommand command, Boolean callerHasConnectionLock, Boolean asyncClose) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs:line 1464
   at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs:line 2727
   at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 5298
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 5168
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 4845
   at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName) in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 1701
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteNonQuery() in /_/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs:line 1221
   at Microsoft.Data.SqlClient.SqlBatch.ExecuteNonQuery() in /_/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBatch.cs:line 92
   at Microsoft.Data.SqlClient.ManualTesting.Tests.BatchTests.MixedBatchSupported() in /_/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/Batch/BatchTests.cs:line 117
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)