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

Balancer is unable to drain shards with big chunks

    XMLWordPrintableJSON

Details

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

    Description

      Issue
      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: