Store the featureCompatibilityVersion server parameter before writing the document on downgrade

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Works as Designed
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2017-06-19, Storage 2017-07-31
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      2 phase drop is going to only do 2 phase drops when in featureCompatibilityVersion 3.6. The w:majority write during downgrade will make sure that all of those drops are committed before downgrading to 3.4 and prevent undropped collections from sticking around. There is currently a race between when the w:majority-write is written and when the featureCompatibilityVersion server parameter is set, such that we could start a new 2 phase drop in that window that would never get cleaned up because we downgrade before it's fully dropped.

      It should be safe to set the server parameter first on downgrade and then write the w:majority document to ensure no new 2 phase drops are begun.

            Assignee:
            Maria van Keulen
            Reporter:
            Judah Schvimer
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: