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

Balancer may not always be able to drain config.system.sessions out of config shard

    • Type: Icon: Bug Bug
    • Resolution: Declined
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • ALL
    • 0

      To get selected by the balancer, a chunk needs to satisfy the following requirements.

          if (fromSize <= idealDataSizePerShardForZone) {
              return false;
          }
      
          if (toSize >= idealDataSizePerShardForZone) {
              // Do not use a shard if it already has more data than the ideal per-shard size
              return false;
          }
      
          if (fromSize - toSize < 3 * collDataSizeInfo.maxChunkSizeBytes) {
              // Do not balance if the collection's size differs too few between the chosen shards
              return false;
          }
      

      The config.system.sessions collection by default has maxChunkSizeBytes of 200'000. When the collection is less than 600kB, the third requirement may not be satisfiable. When this happens, it can prevent the config.system.sessions collection from being drained from the config shard and therefore block transitioning to dedicated config server. 

            Assignee:
            Unassigned Unassigned
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: