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

Create _addShard command on shard to drive shard initialization

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.1
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • Sharding 2018-06-18

      Currently, when an addShard command is run, sharding initialization is triggered when the _configsvrAddShard command inserts a shard identity document on the shard. The shards OpObserver then sees it received the identity document and triggers sharding initialization, but because it is under a database lock, it cannot do any networking calls or I/O, which is a problem if we want to do any blocking operations to initialize a shard. 

      The solution will be to create an _addShard command on the shard, which will be called from the config server. It will be responsible for inserting the shard identity document into itself, which will trigger the normal initialization. Then, we will be able to add any blocking calls we want from inside this command, after inserting that document. 

            Assignee:
            matthew.saltz@mongodb.com Matthew Saltz (Inactive)
            Reporter:
            matthew.saltz@mongodb.com Matthew Saltz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: