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

Associate feature flags with release versions

    • Fully Compatible
    • Security 2020-10-19

      Associate each feature flag with the release version for the feature. Enforce that features with default:false have no release version and features with default:true have a release version. version is required to be a string. For example:

      feature_flags:
          featureFlagToaster:
            description: "Make toast"
            cpp_varname: gToaster
            default: false
      
          featureFlagBlender:
            description: "Make smoothie"
            cpp_varname: gBlender
            default: true
            version: “4.7”
      

      Provide the helpers:

      feature_flags::gToaster.isEnabled(ServerGlobalParams::FeatureCompatibility::Version)
      feature_flags::gToaster.isEnabledAndIgnoreFCV()
      feature_flags::gToaster.getVersion() // throws if the feature is not enabled
      

      For an enabled feature with default:false, getVersion() will return ServerGlobalParams::FeatureCompatibility::kLatest.

            Assignee:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Reporter:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: