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

Retries of _configsvrShardCollection may not send setShardVersion to primary shard

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.15
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2018-08-13, Sharding 2019-07-29, Sharding 2019-08-12, Sharding 2019-08-26, Sharding 2019-09-09, Sharding 2019-09-23
    • 31

      _configsvrShardCollection majority updates the config.collections collection to mark a collection as sharded then sends setShardVersion to the primary shard for the collection's database so it knows to refresh. If the write is interrupted by a retryable error (like a stepdown), the command can fail, but the update may still have been locally committed and/or partially replicated to the new primary. Then when the command is retried by mongos, the config server can see the write has been locally committed and return early, skipping the setShardVersion call, allowing the command to complete successfully without the primary shard knowing the collection has been sharded.

            blake.oler@mongodb.com Blake Oler
            jack.mulrow@mongodb.com Jack Mulrow
            0 Vote for this issue
            7 Start watching this issue