-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.2.0-rc0
-
Component/s: None
-
None
-
Catalog and Routing
-
1
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
-
0
Since SERVER-99351, the FCV-gated feature flags API takes two required parameters:
- A VersionContext&, which holds the Operation FCV of the operation, if any.
- A snapshot of the server's global FCV, used when no Operation FCV is present.
This makes the API for checking FCV-gated feature flags verbose. A typical check looks like:
if (feature_flags::gFeatureFlagToaster.isEnabled(
VersionContext::getDecoration(opCtx),
serverGlobalParams.featureCompatibility.acquireFCVSnapshot())) {
// The feature flag is enabled
}
We should provide a less verbose alternative. For example:
if (feature_flags::gFeatureFlagToaster.isEnabled(
VersionContext::getDecoration(opCtx)->withAcquiredFCVSnaphot())) {
// The feature flag is enabled
}
Where VersionContext::withAcquiredFCVSnaphot returns a struct with both VersionContext and FCVSnapshot.
- is related to
-
SERVER-99351 Incorporate Operation FCV into the FCVGatedFeatureFlag API
-
- Closed
-
- related to
-
SERVER-111449 Allow tagging feature flags to be checked with Operation FCV only
-
- In Progress
-