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

Implement a downgrade floor between 4.4 and 4.2

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.6, 4.4.0-rc0, 4.7.0
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
    • Fully Compatible
    • Execution Team 2020-03-23, Execution Team 2020-04-06
    • 50

      We have realized that we need a downgrade floor, because it's possible that multi-shard multi-document transactions will generate data that existing versions of MongoDB 4.2 won't be able to read.

      We are planning to increment the WiredTiger compatibility version in MongoDB 4.2 from 3.2.2 to 3.3.0 in WT-5892. In order for the downgrade floor to work we need MongoDB to also set some specific compatibility version strings in wiredtiger_open.

      We need to set compatibility=(release=3.2) to make sure that MongoDB 4.2 keeps producing log files in a format that older releases understand.

      We need to set compatibility=(requires_max=3.3) to allow the 4.2 release after this change is included to open a database generated by 4.4 (after it's had a clean shutdown).

      There is a related but orthogonal change in WT-5890 - where we are changing it so that WiredTiger in MongoDB 4.4 will use compatibility version 10.0, and generate log files that can't be read by older versions of MongoDB. On clean shutdown the compatibility version is decreased so that it generates log files that correspond to compatibility=3.3.

            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            alexander.gorrod@mongodb.com Alexander Gorrod
            0 Vote for this issue
            10 Start watching this issue