BugZero found this defect 157 days ago.
Data sources
All data on this page is proprietary to BugZero® or gathered from public sources
3/15/2024
MongoDB Server
7.0.0
7.2.0-rc0
7.1.0
7.3.0-rc0
No fixed releases provided.
In every balancing round, we retrieve per-shard storage statics. Since this is done serially, in a cluster with several shards this can be particularly slow, limiting considerably the balancing speed. Back in SERVER-30060 we did an optimization to retrieve storage statistics only from shards that have maxSize configured. Recently as part of SERVER-66297 we removed this optimization, so now we retrieve again statistics from all the shards serially at every round. The implementation of these statistics retrieval is affected by multiple performance issues: Balancer retrieve storage statistics serially from all shards. Proposal: Parallelize the retrieval. Balancer retrieve storage statistics multiple times in a single balancer round selectChunksToSplit selectChunksToMove warnOnMultiversion Proposal: Do it only once per round and re-use the same ClusterStatistcs object