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

Retries of _configsvrShardCollection may not send setShardVersion to primary shard

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.15
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Sharding 2018-08-13, Sharding 2019-07-29, Sharding 2019-08-12, Sharding 2019-08-26, Sharding 2019-09-09, Sharding 2019-09-23
    • Linked BF Score:
      31

      Description

      _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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              blake.oler Blake Oler
              Reporter:
              jack.mulrow Jack Mulrow
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: