[SERVER-46288] Reconfig in 4.2 style with the current config on FCV downgrade Created: 20/Feb/20  Updated: 29/Oct/23  Resolved: 02/Mar/20

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.3.4

Type: Task Priority: Major - P3
Reporter: Siyuan Zhou Assignee: Siyuan Zhou
Resolution: Fixed Votes: 0
Labels: sharding-csrs-stepdown-only
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-46089 Test downgrading a replica set with a... Closed
Documented
is documented by DOCS-13482 Investigate changes in SERVER-46288: ... Closed
Related
is related to SERVER-46473 Config replication and oplog commitme... Closed
is related to SERVER-46516 Majority write concern is blocked by ... Closed
is related to SERVER-46571 Shard server replica set nodes should... Closed
is related to SERVER-47091 Make ReplSetConfig and MemberConfig i... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2020-03-09
Participants:
Linked BF Score: 60

 Description   

Safe reconfig introduces a new field on the config which will make 4.2 binary to fail to start up. Now that we allow 4.4 binary to use and store a config with the new field. We cannot just remove the extra field on downgrade on each node as in SERVER-45092, since in mixed version replset, a reconfig can propagate the config with the extra field to 4.4 binary with FCV 4.2. That will fail 4.2 binary after downgrade.

Instead, we'll do a reconfig with a higher config version but no term if the last config has a term field with the same configuration and wait for it to replicate to all nodes before downgrading FCV.

Also remove the FCV check in ReplSetHeartbeatArgsV1::addToBSON, we don't need to check FCV to decide whether to include "configTerm" in heartbeats.



 Comments   
Comment by Githook User [ 02/Mar/20 ]

Author:

{'name': 'William Schultz', 'username': 'will62794', 'email': 'william.schultz@mongodb.com'}

Message: SERVER-46288 Only drop snapshots on replica set reconfig if the config content changed
Branch: master
https://github.com/mongodb/mongo/commit/f3c6ff922842d56abb15a39e64a27fc6ae087298

Comment by Githook User [ 02/Mar/20 ]

Author:

{'name': 'Siyuan Zhou', 'username': 'visualzhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-46288 Fix TODO after safe reconfig downgrade work.
Branch: master
https://github.com/mongodb/mongo/commit/a5582fa42435116ab05efcabddf17219fbd573d6

Comment by Githook User [ 01/Mar/20 ]

Author:

{'username': 'visualzhou', 'name': 'Siyuan Zhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-46288 Fix uninitialized argument in unit tests.
Branch: master
https://github.com/mongodb/mongo/commit/303a937de008fcaabb12204fde38beb4747126a2

Comment by Githook User [ 29/Feb/20 ]

Author:

{'username': 'visualzhou', 'name': 'Siyuan Zhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-46288 Reconfig in 4.2 style with the current config on FCV downgrade

Comment by Githook User [ 29/Feb/20 ]

Author:

{'username': 'visualzhou', 'name': 'Siyuan Zhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-46288 Fix reconfig audit tests.
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/e8a636d0772027ae619873f8a20679b3ba7846eb

Generated at Thu Feb 08 05:11:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.