Audit featureFlag usage in v7.0 branch in mongod binary (SERVER-79330)

[SERVER-79941] [Sharding 3] featureFlag audit v7.0 branch Created: 11/Aug/23  Updated: 12/Dec/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major - P3
Reporter: Rachita Dhawan Assignee: Backlog - Cluster Scalability
Resolution: Unresolved Votes: 0
Labels: sharding-nyc-subteam3
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Cluster Scalability
Participants:
Linked BF Score: 105

 Description   

Initial sync can temporarily reset the fcv value to uninitialized and sets the new value afterwards. This can cause call sites trying to inspect the fcv value to hit this invariant. We need to audit feature flag usage and determine which should do one of the following:

  • It can never be called when initial sync is running. So do nothing. Note that this can be tricky to prove as we once thought the catalog cache loader can never be run while initial sync is happening but it can.
  • It is safe to ignore fcv version so use isEnabledAndIgnoreFCVUnsafe instead
  • It is safe to turn off the feature anytime (even if feature flag is actually on) so use isEnabledUseDefaultFCVWhenUninitialized instead.
  • Special logic is needed if fcv is not initialized

gFeatureFlagUpdateDocumentShardKeyUsingTransactionApi
gFeatureFlagUpdateOneWithoutShardKey
gFeatureFlagAnalyzeShardKey


Generated at Thu Feb 08 06:42:18 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.