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

Enforce transition to requires-fcv after feature flag is changed from disabled to enabled by default

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • STM 2021-07-26, STM 2021-08-09
    • 3

      Background info: Feature release pipeline from internal to user-facing:

      • Feature flags - one per feature - switch for individual features. E.g. (featureFlagNewQueryFeature, featureFlagNewStorageFeature). Eventually all flags go away.
      • Wire protocol versions, index versions etc...
      • FCV - feature compatibility version
      • API Version - the user-facing version.

      Impl sketch:

      • Evergreen applies your code changes as a patch in a patch build, so you can get the code from the base commit and run that. The patch itself is not going to change how the generator gets called (unless you change it explicitly). This enables you to run the feature flag generator for the patched commit to give you two different feature flag files.
      • Compare the two files, if the newer one is missing flags, check that all jstest files that previously had a tag for the featureFlag that was just enabled by default now have requires_fcv_(LATEST_FCV) tag
        You can compare the two files as follows by calling the selector (filter_tests()) in resmoke with the following dictionary and js_test for test_kind arg.
        selector:
          roots:
            - jstests/core/*.js
          include_with_any_tags:
            - featureFlagShardingFullDDLSupport  # TODO: Replace this with the tag you want.
        
      • Add a new task to the commit queue and the !RHEL 8 non-feature flags build variant that runs the above.
      • Send out an email with the new task to server and query.

            Assignee:
            mikhail.shchatko@mongodb.com Mikhail Shchatko
            Reporter:
            robert.guo@mongodb.com Robert Guo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: