[SERVER-79335] Audit gFeatureFlagColumnstoreIndexes Created: 25/Jul/23  Updated: 29/Oct/23  Resolved: 20/Sep/23

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

Type: Task Priority: Major - P3
Reporter: Randolph Tan Assignee: Ian Boros
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-79317 Provide more documentation and helper... Closed
Assigned Teams:
Query Execution
Backwards Compatibility: Fully Compatible
Sprint: QE 2023-10-02
Participants:

 Description   

This ticket has been split from an audit of all Query 7.0 feature flags. This ticket is a request to audit gFeatureFlagColumnstoreIndexes.

Intial 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


 Comments   
Comment by Githook User [ 19/Sep/23 ]

Author:

{'name': 'Ian Boros', 'email': '87138302+borosaurus@users.noreply.github.com', 'username': 'borosaurus'}

Message: SERVER-79335 Make CSI feature flag check safe when FCV becomes uninitialized
Branch: v7.0
https://github.com/mongodb/mongo/commit/b02c91f3948f1f70c17ecc5946d80f7ccee656e1

Comment by Kyle Suarez [ 08/Sep/23 ]

I am now repurposing this ticket to just be about gFeatureFlagColumnstoreIndexes.

The original list of all feature flags has been split into separate tickets:
gFeatureFlagChangeStreamsFurtherEnrichedEvents
gFeatureFlagCommonQueryFramework
gFeatureFlagCompoundWildcardIndexes
gFeatureFlagServerlessChangeStreams
gFeatureFlagTelemetry
gFeatureFlagBucketUnpackWithSort
gFeatureFlagShardedTimeSeries
gFeatureFlagColumnstoreIndexes

Comment by Randolph Tan [ 27/Jul/23 ]

Add gFeatureFlagTelemetry

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