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

Retryable writes not safely retryable across collection drops in sharded clusters

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.6.0-rc7
    • Component/s: Sharding
    • Sharding
    • ALL
    • Sharding 2018-01-01

      Scenario:
      0. shardB is the primary shard of "test" database.
      1. test.foo is a sharded collection and has chunks in shardA [-inf, 0) & shardB [0, inf).
      2. User sends batch insert [{-1}, {1}] to mongos, the insert will split up to shardA {-1} & shardB {1}.
      3. test.foo gets dropped.
      4. If user tries to send the same retryable write in step #2 to mongos, mongos will target the full batch [{-1}, {1}] to shardB. And this will result in the shardB applying the write {-1} and not {1}.

            Assignee:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: