-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.3.0-rc0
-
Component/s: Upgrade/Downgrade
-
None
-
Catalog and Routing
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
Currently in setFCV, after switching to the target FCV, the FCV is "fully upgraded/downgraded". This means that we can't do reliably do any work on the target FCV (such as _finalizeUpgrade/_finalizeDowngrade) because if setFCV gets interrupted (e.g. due to a stepdown/crash) then we will believe that the upgrade/downgrade was fully finished.
After SERVER-119476, SERVER-119479, we should be able to add a new phase to setFCV which runs on the target FCV. If there is a crash, the persisted phase field will indicate that there is still outstanding work for the FCV upgrade/downgrade.
NOTE: After the phase is persisted, the interpretation of the FCV from the FCV document should be changed to match:
- If the phase is set and before enable_target_features, the FCV is the transitional kUpgrading/kDowngrading FCV, given by version/targetVersion/previousVersion.
- Otherwise, the FCV is the upgraded/downgraded FCV given by “version”.
- depends on
-
SERVER-119479 Explicitly persist the phase of setFCV in the FCV document
-
- In Progress
-
-
SERVER-119476 Resume setFCV from the point where it got interrupted
-
- Closed
-
- related to
-
SERVER-106164 Add guardrails to ensure FCV upgrades/downgrades are finalized
-
- Backlog
-
-
SERVER-120669 Remove the isCleaningServerMetadata field from the FCV document
-
- Backlog
-
-
SERVER-120679 Move existing upgrade metadata changes after enabling target FCV features
-
- Backlog
-