-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Cluster Scalability
-
Fully Compatible
-
Cluster Scalability 2024-10-14, Cluster Scalability 2024-10-28, Cluster Scalability 2024-11-11
-
0
Currently ClusterServerParameterRefresher performs finds for serverParameters in a transaction so that it can perform the different reads at the same point in time. However, the issue with using a transaction is that it can cause a race condition during shutdown between the refresher thread starting a transaction and the shutdown code aborting transactions resulting in a dangling transaction. See BF-34974 as an example. To prevent BFs like the ones linked from happening we should perform these finds outside of a transaction using snapshot read concern with an atClusterTime.