Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-41243

Allow upsert and delete commands if they can target single shard using query

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • 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

            Assignee:
            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            Reporter:
            arun.banala@mongodb.com Arun Banala
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: