Move existing FCV feasibility checks into uasserts for upgrade/downgrade function

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.3.0-rc0
    • Component/s: None
    • Catalog and Routing
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      In the setFeatureCompatibilityVersion code there are some checks that can throw the CannotUpgrade or CannotDowngrade errors but which are not called from the _userCollectionsUassertsFor(Upgrade|Downgrade) functions (example, further example).

       

      Those checks should be moved into those functions (as documented on the FCV README). Running compatibility checks outside those functions has the risk that they may not serialize correctly with setFCV, or be caught by the dry-run mode introduced in SERVER-106841.

            Assignee:
            Unassigned
            Reporter:
            Joan Bruguera Micó
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: