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

Validate that all cluster server parameters are linked in both MongoD and MongoS

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • 1

      To define a cluster server parameter, we add it to the server_parameters section of an .idl file, with the set_at: cluster field. The generated source for the .idl file then calls MONGO_SERVER_PARAMETER_REGISTER, which makes the parameter usable and visible in commands such as getClusterParameter. Thus, whether a parameter is available depends on whether the .idl is linked into the MongoDB binaries or not.

      Since we build multiple binaries (MongoD, MongoS), it is possible that a cluster server parameter is linked to only one of them, which is generally undesirable. For instance, in SERVER-93033 we found that some parameters were linked to only MongoD but not MongoS. This kind of problem is easy to miss since the only consequence is that the cluster parameter becomes unavailable in the user-facing MongoS router, but it is still available and usable within MongoD.

      To avoid those problems reocurring in the future, we should add some mechanism that detects inconsistencies in what parameters are available. Some possibilities include:

            Assignee:
            Unassigned Unassigned
            Reporter:
            joan.bruguera-mico@mongodb.com Joan Bruguera Micó
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: