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

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.7.3
    • Affects Version/s: None
    • Component/s: Upgrade/Downgrade
    • None
    • Fully Compatible
    • Storage NYC 2018-03-12

      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.

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

              Created:
              Updated:
              Resolved: