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

Allow concurrent draining shards

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.1, 4.3.1
    • Affects Version/s: None
    • Component/s: Sharding
    • Environment:
      All
    • Fully Compatible
    • v4.2
    • Sharding 2019-08-12, Sharding 2019-08-26

      Currently only one shard can be removed at a time. I trust that this was changed for a good reason but I feel a distinction should be made between actively draining a shard (which was problematic to do for more than one shard at the same time apparently) and tagging a shard as draining.

      The reason being is currently if we want to remove 5 shards for example and when the first of those 5 shards is draining it will potentially move its chunks to one of the other 4 shards that we want to remove anyway. This makes our cluster down scales unnecessarily slow since it's needlessly moving the same chunks around multiple times.

      The proposed solution is as follows :

      • Allow marking multiple shards as "draining"
      • Balancer picks one of these draining shards as the one that is going to be drained completely
      • Balancer avoids moving chunks to shards that are marked as "draining"

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            remonvv Remon van Vliet
            Votes:
            4 Vote for this issue
            Watchers:
            23 Start watching this issue

              Created:
              Updated:
              Resolved: