-
Type: Task
-
Resolution: Gone away
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:None
Documentation Request Summary:
As of this patch, arbiters now set their featureCompatibilityVersion to the latest version by default. This means that if users have to downgrade their arbiters, they will have to delete the arbiter data files in case there were any backwards-incompatible schema changes that were gated on the featureCompatibilityVersion.
Engineering Ticket 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.
- documents
-
SERVER-32630 Minimize reads of the featureCompatibilityVersion parameter that occur prior to the featureCompatibilityVersion document being read/created
- Closed