ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Component/s: Evergreen Tools
    • None
    • Needed - No Spec Changes

      Summary

      The mongod and mongos binaries are making a change so that certain feature flags which are eligible for Incremental Feature Rollout will default to false when the binaries are launched. Before this project, they defaulted to true. To preserve the same kind of test coverage (which we think is desirable), drivers should pass '--enableUnreleasedRolloutFlags' startup option to all mongod and mongos binaries in the test fixture. This will ensure tests cover the desired end state of the upcoming release: all features enabled. If there are issues with that, we want to hear about them early.

      Motivation

      Who is the affected end user?

      All MongoDB users in a sense, but mostly those in the 'rapid release' fleet which get features the fastest. This is a ticket about ensuring test coverage to have better release safety.

      The change is motivated by making it safer for us to avoid accidentally releasing flags which we intended to release more methodically. 

      How does this affect the end user?

      Without doing this, the risk profile for the rapid release customers will grow.

      How likely is it that this problem or use case will occur?

      This should be low probability. Our feature flags should have minimal noticeable impact if toggled off/on if done right. It should be pretty rare that a feature flag toggle will cause a problem for drivers. But it's not impossible.

      If the problem does occur, what are the consequences and how severe are they?

      If a problem gets through to release without being tested, it can result in customer outages and possible release rollback. An expensive event for the company.

      Is this issue urgent?

      We are making this change for the 9.1 release cycle. We would like this to be done before then to ensure our test coverage matches how that release will go out. That said, the feature flags targeting 9.1 all have to do with how we build query plans internally for certain kinds of queries and whether they will use SBE. I don't anticipate these particular flags will cause drivers problems. So there is not a ton of real urgency, we just want to fix this so that we don't have to remember this outstanding risk the next time we select feature flags (or if another server project that might be riskier decides to use IFR flags to protect their feature for 9.1)

      Is this ticket required by a downstream team?

      No

      Is this ticket only for tests?

      Yes

      Acceptance Criteria

      The drivers test suite should have all mongods and mongos processes launched with '–enableUnreleasedRolloutFlags.' It will be hard to prove, but the impact we want is that a feature flag which breaks a drivers test will cause drivers tests to start failing if that feature flag is in 'rollout' state on the server (defaulting to off but intended to be set to true via Atlas configuration). 

            Assignee:
            Unassigned
            Reporter:
            Charlie Swanson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: