Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
Security 2020-10-19
Description
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.
Attachments
Issue Links
- is depended on by
-
SERVER-51111 Make getParameter return the release version of enabled feature flags
-
- Closed
-
-
SERVER-50423 Change memberConfig's slaveDelay field to secondaryDelaySecs in FCV 4.7
-
- Closed
-
- is duplicated by
-
SERVER-51111 Make getParameter return the release version of enabled feature flags
-
- Closed
-
- related to
-
SERVER-60058 Add helper library to check feature flags in jstests
-
- Closed
-