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

Make a ShardClient interface with 3 implementations: local, remote, mock

    • Type: Icon: Task Task
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Sharding 13 (04/22/16)

      The interface should eventually consist of CRUD operations and runCommand, but initially only needs the methods required for addShard. The rest can be added as we need them.

      a. The remote implementation should use the network interface, similarly to how ShardRegistry::_runCommandWithMetadata and ShardRegistry::_exhaustiveFindOnConfig used to work

      b. The local implementation should use the new dbhelpers being written

      c. The mock implementation can be used for testing the ShardingCatalogManager

      The remote implementation can itself be unit tested using a mock network interface, and the local implementation can be unit tested using the ephemeralForTest storage engine.

            Assignee:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: