-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Component/s: Unified Test Runner
-
None
-
Needed
-
Summary
Various spec tests (both legacy and unified) utilize the errorLabels option for the failCommand fail point without requiring server version 4.3.1+, which is when the option was first implemented (SERVER-43941). Some of this dates back to commits for DRIVERS-1385, when errorLabels was relocated from the writeConcernError field to the top-level of the fail point config.
I came across this issue while implementing DRIVERS-1641, which changes drivers to no longer inspect writeConcernError.code on pre-4.4 mongos responses and instead rely entirely on the server-populated error labels. On versions of mongos prior to 4.3.1, those error labels may not be populated due to failCommand ignoring the errorLabels option used in the test.
We should also note this requirement in the Unified Test Format spec, which documents the failCommand fail point.
Motivation
Is this issue urgent?
Requirement for DRIVERS-1641.
Is this ticket required by a downstream team?
No.
Is this ticket only for tests?
Yes.
- is related to
-
DRIVERS-1385 Make retryable write test error labels behave consistently with server
- Implementing
- related to
-
DRIVERS-1814 Document errorLabels option for failCommand fail point
- Closed
- split to
-
PHPLIB-1330 Require 4.3.1+ server version when using failCommand errorLabels option
- Closed
-
RUBY-3366 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
CSHARP-4899 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
CXX-2808 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
GODRIVER-3085 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
NODE-5808 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
RUST-1818 Require 4.3.1+ server version when using failCommand errorLabels option
- Backlog
-
JAVA-5283 Require 4.3.1+ server version when using failCommand errorLabels option
- Closed
-
CDRIVER-4806 Require 4.3.1+ server version when using failCommand errorLabels option
- Closed
-
MOTOR-1230 Require 4.3.1+ server version when using failCommand errorLabels option
- Closed
-
PYTHON-4117 Require 4.3.1+ server version when using failCommand errorLabels option
- Closed