Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
Execution Team 2021-11-15
Description
In the past, users could only upgrade or downgrade the server one major version at a time. With continuous release, users can immediately upgrade from kLastLTS to kLastContinuous/kLatest and vice-versa, skipping releases in-between. We need to update WiredTigerKVEngine::shouldDowngrade()/getDowngradeString() to support this release model.
For example, say WiredTiger changed its version on each continuous release:
| MongoDB | WiredTiger |
|---|---|
| 5.0 (kLastLTS) | 10.0.0 |
| 5.1 (kLastContinuous) | 11.0.0 |
| 5.2 (kLatest) | 12.0.0 |
Under today's implementation, shouldDowngrade() only supports downgrading to 5.0 (kLastLTS). We should modify it to also support downgrading from 5.2 (kLatest) to 5.1 (kLastContinuous).
The same change will need to be done for getDowngradeString().
For reference, current version table of MongoDB <-> WiredTiger.