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

Create cluster server parameter polling job on mongos

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • Security 2022-05-02, Security 2022-05-16, Security 2022-05-30

    Description

      Cluster server parameters also need to be synchronized from the CSRS to mongoses on sharded clusters. Unlike replica sets, there is no way to monitor a source of truth on disk and make in-memory changes appropriately. Therefore, mongoses will have to run a periodic job in the background that polls for updated parameters. The frequency of these checks will be bounded via a new setParameter, clusterParameterStalenessIntervalSecs. The periodic job will also be triggered every time a new clusterParameterTime is gossiped in.

      1. Define a new node-specific server parameter, clusterParameterStalenessIntervalSecs, that is used to bound the maximum amount of time between consecutive runs.
      2. Create a polling job that runs on a background thread and runs a find command filtering on documents with clusterParameterTime greater than the largest clusterParameterTime the mongos has cached locally.
      3. Update the in-memory ServerParameters affected by the reply.
      4. Write a unit test to ensure that the polling job works as expected.

      Attachments

        Activity

          People

            varun.ravichandran@mongodb.com Varun Ravichandran
            varun.ravichandran@mongodb.com Varun Ravichandran
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: