-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
Fully Compatible
-
Execution Team 2023-05-01, Execution Team 2024-11-11
In jstests/libs/override_methods/network_error_and_txn_override.js, there is logic in the shouldRetryWithNetworkErrorOverride method such that, in the case where a create command returns an ok: 0 response with the NamespaceExists error code, the error is swallowed and ok: 1 is returned.
The reasoning for this is so that the command can be safely retried in cases where it is unknown if it actually succeeded, due to encountering a network error.
With the create command becoming idempotent on mongos as of SERVER-60064, the logic in this file should be updated to no longer override the ok value, since the command should now be safely retryable.
The current behavior causes issues in test cases added in SERVER-60064 that expect NamespaceExists errors in cases where create is re-run with different options from the existing collection/view. The legitimate errors are incorrectly swallowed by this logic, which prevents the tests from being run in stepdown suites.
Along with updating the override logic, we should remove the does_not_support_stepdowns tag from jstests/core/views/view_creation.js and jstests/core/ddl/create_collection.js.
- depends on
-
SERVER-60064 Make create command idempotent on mongod
- Closed
-
SERVER-76547 Create command on a time-series collection is not idempotent
- Closed