diff --git a/specifications/retryable-writes/tests/unified/insertOne-serverErrors.json b/specifications/retryable-writes/tests/unified/insertOne-serverErrors.json index f404adcaf42..8edafb7029b 100644 --- a/specifications/retryable-writes/tests/unified/insertOne-serverErrors.json +++ b/specifications/retryable-writes/tests/unified/insertOne-serverErrors.json @@ -739,7 +739,7 @@ ] }, { - "description": "InsertOne fails after WriteConcernError WriteConcernFailed", + "description": "InsertOne fails after WriteConcernError WriteConcernTimeout", "operations": [ { "name": "failPoint", @@ -757,7 +757,6 @@ ], "writeConcernError": { "code": 64, - "codeName": "WriteConcernFailed", "errmsg": "waiting for replication timed out", "errInfo": { "wtimeout": true diff --git a/specifications/retryable-writes/tests/unified/insertOne-serverErrors.yml b/specifications/retryable-writes/tests/unified/insertOne-serverErrors.yml index 95fa71ec790..6fd43365d8e 100644 --- a/specifications/retryable-writes/tests/unified/insertOne-serverErrors.yml +++ b/specifications/retryable-writes/tests/unified/insertOne-serverErrors.yml @@ -339,7 +339,7 @@ tests: - { _id: 2, x: 22 } - { _id: 3, x: 33 } # The write was still applied. - - description: 'InsertOne fails after WriteConcernError WriteConcernFailed' + description: 'InsertOne fails after WriteConcernError WriteConcernTimeout' operations: - name: failPoint @@ -353,7 +353,6 @@ tests: failCommands: [ insert ] writeConcernError: code: 64 - codeName: WriteConcernFailed errmsg: 'waiting for replication timed out' errInfo: wtimeout: true diff --git a/specifications/transactions-convenient-api/tests/commit-writeconcernerror.json b/specifications/transactions-convenient-api/tests/commit-writeconcernerror.json index fbad6455465..912767a336f 100644 --- a/specifications/transactions-convenient-api/tests/commit-writeconcernerror.json +++ b/specifications/transactions-convenient-api/tests/commit-writeconcernerror.json @@ -18,7 +18,7 @@ "data": [], "tests": [ { - "description": "commitTransaction is retried after WriteConcernFailed timeout error", + "description": "commitTransaction is retried after WriteConcernTimeout timeout error", "failPoint": { "configureFailPoint": "failCommand", "mode": { @@ -30,7 +30,6 @@ ], "writeConcernError": { "code": 64, - "codeName": "WriteConcernFailed", "errmsg": "waiting for replication timed out", "errInfo": { "wtimeout": true @@ -156,7 +155,7 @@ } }, { - "description": "commitTransaction is retried after WriteConcernFailed non-timeout error", + "description": "commitTransaction is retried after WriteConcernTimeout non-timeout error", "failPoint": { "configureFailPoint": "failCommand", "mode": { @@ -168,7 +167,6 @@ ], "writeConcernError": { "code": 64, - "codeName": "WriteConcernFailed", "errmsg": "multiple errors reported" } } diff --git a/specifications/transactions-convenient-api/tests/commit-writeconcernerror.yml b/specifications/transactions-convenient-api/tests/commit-writeconcernerror.yml index 5c5f364d58e..ae2e6a2b008 100644 --- a/specifications/transactions-convenient-api/tests/commit-writeconcernerror.yml +++ b/specifications/transactions-convenient-api/tests/commit-writeconcernerror.yml @@ -13,7 +13,7 @@ data: [] tests: - - description: commitTransaction is retried after WriteConcernFailed timeout error + description: commitTransaction is retried after WriteConcernTimeout timeout error failPoint: configureFailPoint: failCommand mode: { times: 2 } @@ -23,7 +23,6 @@ tests: # with writeConcernError (see: SERVER-39292) writeConcernError: code: 64 - codeName: WriteConcernFailed errmsg: "waiting for replication timed out" errInfo: { wtimeout: true } operations: @@ -106,10 +105,10 @@ tests: - { _id: 1 } - # This test configures the fail point to return an error with the - # WriteConcernFailed code but without errInfo that would identify it as a + # WriteConcernTimeout code but without errInfo that would identify it as a # wtimeout error. This tests that drivers do not assume that all - # WriteConcernFailed errors are due to a replication timeout. - description: commitTransaction is retried after WriteConcernFailed non-timeout error + # WriteConcernTimeout errors are due to a replication timeout. + description: commitTransaction is retried after WriteConcernTimeout non-timeout error failPoint: configureFailPoint: failCommand mode: { times: 2 } @@ -119,7 +118,6 @@ tests: # with writeConcernError (see: SERVER-39292) writeConcernError: code: 64 - codeName: WriteConcernFailed errmsg: "multiple errors reported" operations: - *operation diff --git a/specifications/transactions/tests/unified/error-labels.json b/specifications/transactions/tests/unified/error-labels.json index be8df10ed34..74ed750b070 100644 --- a/specifications/transactions/tests/unified/error-labels.json +++ b/specifications/transactions/tests/unified/error-labels.json @@ -1176,7 +1176,7 @@ ] }, { - "description": "add UnknownTransactionCommitResult label to writeConcernError WriteConcernFailed", + "description": "add UnknownTransactionCommitResult label to writeConcernError WriteConcernTimeout", "operations": [ { "object": "testRunner", @@ -1338,7 +1338,7 @@ ] }, { - "description": "add UnknownTransactionCommitResult label to writeConcernError WriteConcernFailed with wtimeout", + "description": "add UnknownTransactionCommitResult label to writeConcernError WriteConcernTimeout with wtimeout", "operations": [ { "object": "testRunner", @@ -1356,7 +1356,6 @@ ], "writeConcernError": { "code": 64, - "codeName": "WriteConcernFailed", "errmsg": "waiting for replication timed out", "errInfo": { "wtimeout": true diff --git a/specifications/transactions/tests/unified/error-labels.yml b/specifications/transactions/tests/unified/error-labels.yml index 6eb8d7d75ef..64e241d55d0 100644 --- a/specifications/transactions/tests/unified/error-labels.yml +++ b/specifications/transactions/tests/unified/error-labels.yml @@ -688,7 +688,7 @@ tests: databaseName: *database_name documents: [] - - description: 'add UnknownTransactionCommitResult label to writeConcernError WriteConcernFailed' + description: 'add UnknownTransactionCommitResult label to writeConcernError WriteConcernTimeout' operations: - object: testRunner @@ -702,7 +702,7 @@ tests: failCommands: - commitTransaction writeConcernError: - code: 64 # WriteConcernFailed without wtimeout + code: 64 # WriteConcernTimeout without wtimeout errmsg: 'multiple errors reported' - object: *session0 @@ -782,7 +782,7 @@ tests: documents: - { _id: 1 } - - description: 'add UnknownTransactionCommitResult label to writeConcernError WriteConcernFailed with wtimeout' + description: 'add UnknownTransactionCommitResult label to writeConcernError WriteConcernTimeout with wtimeout' operations: - object: testRunner @@ -797,7 +797,6 @@ tests: - commitTransaction writeConcernError: code: 64 - codeName: WriteConcernFailed errmsg: 'waiting for replication timed out' errInfo: wtimeout: true diff --git a/src/MongoDB.Driver/Core/ServerErrorCode.cs b/src/MongoDB.Driver/Core/ServerErrorCode.cs index 254fd2fd10e..d9bf9c9e58b 100644 --- a/src/MongoDB.Driver/Core/ServerErrorCode.cs +++ b/src/MongoDB.Driver/Core/ServerErrorCode.cs @@ -54,6 +54,6 @@ internal enum ServerErrorCode UnauthorizedServerless = 8000, UnknownReplWriteConcern = 79, UnsatisfiableWriteConcern = 100, - WriteConcernFailed = 64 + WriteConcernTimeout = 64 } } diff --git a/tests/MongoDB.Driver.Tests/Core/Operations/RetryabilityHelperTests.cs b/tests/MongoDB.Driver.Tests/Core/Operations/RetryabilityHelperTests.cs index b8dbcb7bd73..9fc9db65be4 100644 --- a/tests/MongoDB.Driver.Tests/Core/Operations/RetryabilityHelperTests.cs +++ b/tests/MongoDB.Driver.Tests/Core/Operations/RetryabilityHelperTests.cs @@ -41,7 +41,7 @@ public class RetryabilityHelperTests [InlineData(ServerErrorCode.HostUnreachable, true)] [InlineData(ServerErrorCode.NetworkTimeout, true)] [InlineData(ServerErrorCode.SocketException, true)] - [InlineData(ServerErrorCode.WriteConcernFailed, false)] + [InlineData(ServerErrorCode.WriteConcernTimeout, false)] [InlineData(ServerErrorCode.ExceededTimeLimit, true)] public void AddRetryableWriteErrorLabelIfRequired_should_add_RetryableWriteError_for_MongoWriteConcernException_when_required(int errorCode, bool shouldAddErrorLabel) { @@ -80,7 +80,7 @@ public void AddRetryableWriteErrorLabelIfRequired_should_add_RetryableWriteError [InlineData(ServerErrorCode.HostUnreachable, true)] [InlineData(ServerErrorCode.NetworkTimeout, true)] [InlineData(ServerErrorCode.SocketException, true)] - [InlineData(ServerErrorCode.WriteConcernFailed, false)] + [InlineData(ServerErrorCode.WriteConcernTimeout, false)] [InlineData(ServerErrorCode.ExceededTimeLimit, true)] public void AddRetryableWriteErrorLabelIfRequired_should_add_RetryableWriteError_when_required(object exceptionDescription, bool shouldAddErrorLabel) { @@ -142,7 +142,7 @@ public void IsCommandRetryable_should_return_expected_result(string command, boo [InlineData(ServerErrorCode.RetryChangeStream, true)] [InlineData(ServerErrorCode.FailedToSatisfyReadPreference, true)] [InlineData(ServerErrorCode.ElectionInProgress, false)] - [InlineData(ServerErrorCode.WriteConcernFailed, false)] + [InlineData(ServerErrorCode.WriteConcernTimeout, false)] [InlineData(ServerErrorCode.CappedPositionLost, false)] [InlineData(ServerErrorCode.CursorKilled, false)] [InlineData(ServerErrorCode.Interrupted, false)]