-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
CAR Team 2024-11-11, CAR Team 2024-11-25
It is really difficult to guarantee consistent behavior for non-idempotent commands in sharded cluster.
In fact, in sharded clusters, all commands pass through the router before to reach the shards. In order to masquerade network errors or temporary errors happening inside the cluster, the router needs to be able to retry those commands multiple times. For non-idempotent commands we are not able to masquerade those errors.
Originally the implementation of some DDL operations on replicasets used to not be idempotent (e.g. create, drop, dropIndex, etc..). In order to align the behavior between replicasets and sharded cluster, we decided to make those DDL operations on replicasets idempotent.
The goal of this ticket is to audit all our DDLs and make sure they are idempotent and that they have the same behavior between replicasets and sharded cluster.
- is depended on by
-
SERVER-90152 dropIndex() should be idempotent
- Blocked
- related to
-
SERVER-90152 dropIndex() should be idempotent
- Blocked
-
SERVER-60064 Make create command idempotent on mongod
- Closed