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

Improve the auto-splitter policy

    • Fully Compatible
    • Sharding EMEA 2021-07-26, Sharding EMEA 2021-08-09, Sharding EMEA 2021-08-23, Sharding EMEA 2021-09-06

      The chunk splitter is currently relying on the splitVector function that can easily suggest to always split at a chunk at (maxChunkSize / 2).

      While the documentation states that a chunk gets partitioned when it reaches the maximum chunk size, the current implementation can force a split simply if the current size is (maxChunkSize / 2 + ε). This results in the max chunk size being actually (maxChunkSize / 2).

      Not only that, some corner cases can produce very large chunk counts relative to document count.

      This ticket has two objectives to make the auto-splitter less aggressive:

      • As a precondition for splitting, wait for a chunk size to get closer to the maximum
      • Consider making bigger chunks, with a size closer to the maxChunkSize set by the user rather than half of it

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

              Created:
              Updated:
              Resolved: