-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
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.
- related to
-
SERVER-48044 FCV::isVersion should invariant if FCV is unset
- Closed