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

Race in ShardRegistry::reload and config.shard update can cause shard not found error

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.2.0
    • Fix Version/s: 3.2.3, 3.3.0
    • Component/s: Sharding
    • Labels:
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Completed:
    • Sprint:
      Sharding E (01/08/16)
    • Linked BF Score:
      0

      Description

      The ReplicaSetMonitor monitors membership changes of all the known replica set shards in mongos and tries to update the ShardRegistry and config.shards. The issue is that when the ShardRegistry::reload gets called, it will clear all it's entries and tries to reread the contents from config.shards. So there is a small window were the ShardRegistry 'forgets' the newly added replSet member until config.shards get updated and reload gets called again.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: