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

Minimize reads of the featureCompatibilityVersion parameter that occur prior to the featureCompatibilityVersion document being read/created

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 3.7.3
    • None
    • Upgrade/Downgrade
    • None
    • Fully Compatible
    • Storage NYC 2018-03-12

    Description

      Presently, there are places in the server code that read the featureCompatibilityVersion parameter before it is explicitly initialized with a meaningful value either from reading the featureCompatibilityVersion document or creating a new featureCompatibilityVersion document on clean startup. These reads should be minimized if not eliminated. A proposal to minimize these reads follows:

      • Continue to default the featureCompatibilityVersion parameter to the "unset" value.
      • Assert that the featureCompatibilityVersion parameter is not "unset" in the default getter function (getVersion).
      • For existing reads of the featureCompatibilityVersion parameter, find all reads that occur prior to the document being read. Most if not all of these should be 3.4 to 3.6 specific and thus get removed. If any such reads remain after removal of 3.4 to 3.6-specific behavior, and they must be kept, handle them with a special unsafe getter function that treats the "unset" value as last-stable.

      Attachments

        Activity

          People

            maria.vankeulen@mongodb.com Maria van Keulen
            maria.vankeulen@mongodb.com Maria van Keulen
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: