Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-16257

[SERVER] Investigate changes in SERVER-71627: Refreshed cached collection route info will severely block all client request when a cluster with 1 million chunks

      Original Downstream Change Summary

      Expose a new server parameter named routingTableCacheChunkBucketSize. It is available both for mongod and mongos and allow specifying “Size of the routing table cache buckets used to implement chunk grouping optimization”.

      Description of Linked Ticket

      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.

            joseph.dougherty@mongodb.com Joseph Dougherty
            backlog-server-pm Backlog - Core Eng Program Management Team
            0 Vote for this issue
            2 Start watching this issue

              49 weeks, 2 days ago