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

Decouple mongos-to-config-server connection pool sizing from mongos-to-shard-server connection pool sizing

    • Fully Compatible
    • v6.0, v5.0, v4.4, v4.2
    • Service Arch 2022-04-04, Service Arch 2022-04-18, Service Arch 2022-05-02
    • 148
    • 4

      The ShardingTaskExecutorPool{Min, Max}Size server parameters control the maximum and minimum sizes of connection pools each TaskExecutor can maintain to any mongod. (Most CRUD/agg operations will use these connection pools to reach mongod from mongos). 

      The STAR team did some research and determined that different values for these parameters may have performance implications, and came up with tuning recommendations for these parameters for different sized deployments. However, in clusters where CSRS are on differently-sized machines than shards, we would want the size of the connection pools controlled by this parameter to differ depending on if the targeted mongod is a configsvr or shardsvr. 

      This is not possible with the current implementation of the parameter, which controls CP sizing for all mongods. We should decouple this to allow for different CP sizing depending  on if the target is a shardserver or configserver.

       Should be doable by giving the ShardingTaskExecutorPoolController a view into the cluster topology (maybe via RSM?) or some info on it so it can determine if a host is a config server or shard server.  

            billy.donahue@mongodb.com Billy Donahue
            george.wangensteen@mongodb.com George Wangensteen
            0 Vote for this issue
            22 Start watching this issue