-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
v7.0, v6.0, v5.0, v4.4, v4.2
-
Sharding EMEA 2023-01-09, Sharding EMEA 2023-01-23, Sharding EMEA 2023-02-06, Sharding EMEA 2023-02-20, Sharding EMEA 2023-03-06, Sharding EMEA 2023-03-20, Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, Sharding EMEA 2023-05-01, Sharding EMEA 2023-05-15, Sharding EMEA 2023-05-29, Sharding EMEA 2023-06-12, Sharding EMEA 2023-06-26, Sharding EMEA 2023-07-10, Sharding EMEA 2023-07-24
-
(copied to CRM)
-
5
Refreshing routing info happens under a lot of circumstances on mongos & mongod, e.g. splitting & moving chunks & shard version Check(when routing requests for read/write queries), etc. Efficiency of refreshing is crucial to MongoDB sharded cluster’s core functionalities.
In production clusters, chunk number grows rapidly with data keeps flowing in, resulting longer refreshing duration, all client requests are blocked. Although the sql of client requests is simple and the system load (CPU, MEM, IO) is low, client request jitter time has high latency during the route refreshing. For example, a cluster with 1 million chunks, it’d take seconds to do the refresh, severely blocking all client queries.
- causes
-
SERVER-81966 Avoid modification of previous ChunkMap instances during refresh
- Closed
-
SERVER-80596 Avoid useless initial iteration in ChunkMap chunks loops
- Closed
- depends on
-
SERVER-76828 Increase test coverage for RoutingTableHistory and ChunkMap
- Closed
- is depended on by
-
SERVER-67529 Resharding silently skips documents with all MaxKey values for their fields under the new shard key pattern
- Closed
-
SERVER-52776 IDL-ize ChunkType
- Open
-
SERVER-77090 Prevent ChunkMap to be constructed with gaps or overlapping chunks
- Closed
-
SERVER-78495 Throw out vestiges of enableFinerGrainedCatalogCacheRefresh from the router role
- Closed