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.
- is depended on by
-
SERVER-46784 Make jstests/multiVersion/keystring_index.js a generic upgrade/downgrade test
- Closed