|
Currently, from a high level point of view, the auto-merger is:
- Constructing a <shard, nss> map (that is being optimized under
SERVER-73378)
- for each shard:
- - For each namespace
- ---- Issue an auto merger request (in parallel)
- - Wait for previous merge requests to drain before throttling and issuing requests for next shard
In presence of thousands of collections, this may result in performance issues:
- Sending 100K network requests to the same shard in case of 100K collections with mergeable chunks on the same shard
- The commit of merges (for different collections) will serialize on the CSRS under the chunks lock
|