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

ClusterServerParameterRefresher should do finds outside of a transaction

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • 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. 

            Assignee:
            wenqin.ye@mongodb.com Wenqin Ye
            Reporter:
            wenqin.ye@mongodb.com Wenqin Ye
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: