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

Review range deleter batching policy

    • Fully Compatible
    • v5.2, v5.1, v5.0, v4.4, v4.2, v4.0
    • Sharding EMEA 2021-12-13, Sharding EMEA 2021-12-27
    • 135

      With the changes committed under SERVER-47699 (auto-yielding), it should be safe to get rid of batched deletes and - instead - simply delete documents belonging to a whole range in one shot. Some experiments showed that deleting hundred of thousands of documents takes less than a minute and the yielding should theoretically prevent any kind of starvation.

      Keeping the current behavior of the range-deleter can easily result in the balancer starving waiting for a specific range deletion to drain (the more range deletions, the more likely this happens - because the task gets re-enqueued behind all the other ones).

      Objective of this ticket is to decide whether we need to:

      - Get rid of the batching policy
      - Keep it, but drastically increasing rangeDeleterBatchSize (e.g. set it to 100K). This may be useful in case
      a user wants to throttle orphan deletions in favor of CRUD operations.

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