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

Use separate types for FCV-gated vs. non-FCV-gated feature flags

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: Upgrade/Downgrade
    • None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2025-01-20, CAR Team 2025-02-03

      The idl framework must generate feature flags of separate types depending on the value of the shouldBeFCVGated parameter:

      • shouldBeFCVGated==true - the associated feature flag is FCV dependent and therefore should use FeatureFlagFCVGated type.
      • shouldBeFCVGated==false - the feature flag is not FCV dependent and should utilize the FeatureFlagBinaryCompatible type.

      Relatedly, distinct C++ classes must be introduced to represent those feature flags.
      Therefore, separate classes based on the current implementation of the FeatureFlag type should be added, while preserving the exact same behaviour for both FeatureFlagFCVGated and FeatureFlagBinaryCompatible.
      As a result, the underlying types will be swapped out, but the API will remain unchanged.

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

              Created:
              Updated:
              Resolved: