-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:
-
Cluster Scalability
The current behaviour for upserts and delete commands is that they need to specify full shard key in the query. If not we fail on mongos.
- This is an unnecessary holdover from the time where we could only target a single shard if we had an exact match on the shard key
- The real requirement for upsert and non-multi delete is not an exact shard key match, but rather that the operation can target a single shard
- It is unnecessary to make exact shard key a special requirement, because agnostically targeting the query can resolve to a single shard even with a partial or range query on the shard key, if all relevant chunks are on the same shard
- Removing this requirement will help the ongoing project to make sharding more transparent, by removing a cluster-only special case that is not enforced for a replica set deployment