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

Send the participant collMod requests in parallel for shards not owning chunks

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing

      Today, the collMod coordinator broadcasts a shard server participant collMod to all the shards in order to apply changes to the collection.

      • Responses from the shards owning chunks are parsed and validated to ensure consistency between the shards.
      • For shards not owning chunks and the collection doesn't exist, we will ignore that response.
      • For the shards not owning chunks and the collection does exist, we will try to apply the collection modification, by retrying retriable errors.

      For shards that don’t own chunks, the requests are sent serialized one by one, without running in parallel. This means that if a collection is placed in one shard, we will need to send the request to all the shards that don’t own chunks, waiting for a scenario that doesn’t really impact the actual collection, and just in case the balancer returns some chunks in those shards.

      The goal of this ticket is to send the request to shards that don’t own chunks in parallel, and respect the same parse and validation behavior response explained in the list above.

            Assignee:
            Unassigned Unassigned
            Reporter:
            pol.pinol@mongodb.com Pol Pinol
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: