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

Balancer is unable to drain shards with big chunks

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical - P2 Critical - P2
    • 6.0.6, 7.0.0-rc1, 6.3.2
    • Affects Version/s: 6.1.1, 6.0.4, 7.0.0-rc0, 6.0.5, 6.2.1, 6.3.0-rc3
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • v7.0
    • Sharding EMEA 2023-05-01

      In case there is at least one huge chunks on a shard being drained, the balancer may end up indefinitely in the following scenario:

      • The migration proceeds for 6 hours before being aborted
      • The same migration is rescheduled

      Technical description
      When draining a shard, migrations are being scheduled by the balancer with the forceJumbo flag set to true (meaning they can proceed no matter the number of documents to clone) and by passing the whole chunk entry as argument (meaning that the whole chunk must be migrated in one shot).

      This is different from the usual balancing behavior that - after the removal of the auto-splitter in 6.0.3 - consists in issuing moveRange commands by only specifying the min bound so that the shard autonomously decides on which key to chop a chunk according to the configured chunk size.

            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            0 Vote for this issue
            10 Start watching this issue