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

Fix feature_flag_utils.js to handle non-FCV-gated flags correctly

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This came up while working on SERVER-97917 after SERVER-94660 was merged. Using featureFlagRankFusionBasic (which isn't FCV-gated) in api_version_pipeline_stages.js would make the test fail in the sharding_jscore_passthrough_last_lts_new_old_old_new suite. This is because FeatureFlagUtil.getStatus() would not be satisfied with the response from mongos and would try to check mongod instead, and the mongod with the response was on a version with the FF on, prompting a false positive.

      will.buerger@mongodb.com attempted patching the behavior for not doing this redundant check on non-FCV-gated flags, but this then prompted an error with ftdc_connection_reuse.js since it relies on creating a new connection, but for with the above-mentioned patch we wouldn't get to that block of code. To fix this we can create a new connection inside hasMultiserviceFTDCSchema().

      This will allow us to switch the unstable pipeline in api_version_pipeline_stages.js to be guarded under featureFlagRankFusionBasic.

      Note that aggr_operationstats.js might also fail but this should be fixed by passing conn instead of standaloneColl into the FeatureFlag helper.

      Also, we might want to schedule a ticket for Catalogue and Routing for them to verify whether they want to keep our fix or clean it up in a smarter way.

            Assignee:
            Unassigned Unassigned
            Reporter:
            mariano.shaar@mongodb.com Mariano Shaar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              None
              None
              None
              None