-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: manual
-
Labels:
Description
On upgrade to 4.4 starting from RC1, the primary executes a similar reconfig to add the term field from the on-disk config document and blocks waiting for only a majority of the nodes to replicate the new config. This is sufficient to guarantee the new on-disk format will eventually propagate to all nodes and the next primary must have the new on-disk format. This is an optimization to avoid potential safety issues on the later transition from 4.2-style config to safe reconfig.
Description of Linked Ticket
When replica set nodes are in FCV=4.2, their replica set configs have no config "term" field. This is intentional so that the behavior in FCV=4.2 matches the v4.2 reconfig behavior. After upgrading to FCV=4.4, however, replica set nodes will not add a config term until the first safe reconfig is run. This can leave an indefinitely long period of time where nodes will have configs with uninitialized terms, which is unsafe for the reasons illustrated in the trace of this comment. To prevent this unsafe period of time after upgrade, we should do an internal no-op reconfig after upgrading to FCV=4.4 to automatically add config terms, analogous to what we do on FCV downgrade.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
- documents
-
SERVER-47189 Do a safe reconfig to add config term on upgrade to FCV=4.4
- Closed
- related to
-
DOCS-13482 Investigate changes in SERVER-46288: Reconfig in 4.2 style with the current config on FCV downgrade
- Closed