The Sharding Fixed executor is configured to allow unlimited thread pool growth and can be used to route commitTransaction operations. But since commitTransaction operations can be user-driven, we should ensure mongods can be protected against aggressive client activity via the ShardingTaskExecutorPoolMinSize/ShardingTaskExecutorPoolMaxSize configs, such as by routing these operations to mongos Arbitrary Executors (NetworkInterface/TaskExecutor-0).
This should also apply to any other operations that may be user-initiated within transactions.
- is related to
-
SERVER-90186 Fixed and Arbitrary executors names can lead to confusion
- Open
- related to
-
SERVER-90730 Investigate short-term improvements to TransactionCoordinator to reduce the number of threads it spawns
- Open
-
SERVER-90729 Revisit design of TransactionCoordinator with goal to bound the number of threads it spawns
- Backlog