[SERVER-31254] Fail initial sync if fCV targetVersion is set or if there is no fCV document Created: 25/Sep/17  Updated: 30/Oct/23  Resolved: 27/Oct/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.6.0-rc2

Type: Task Priority: Major - P3
Reporter: Judah Schvimer Assignee: Judah Schvimer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-31634 FeatureCompatibilityVersion::setIfCle... Closed
is depended on by SERVER-29452 Handle missing featureCompatibilityVe... Closed
Related
is related to SERVER-31019 Changing fCV during initial sync lead... Closed
is related to SERVER-31607 Remove FeatureCompatibilityVersionInf... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-10-23, Repl 2017-11-13
Participants:
Linked BF Score: 0

 Description   

SERVER-31019 will not fail initial sync if the upgrade/downgrade began before initial sync and finishes after. Having UUIDs get added while initial sync is occurring sounds potentially dangerous. Additionally, SERVER-29452 forces 3.6 binaries to fail to start up if there is no featureCompatibilityVersion document. They should therefore fail to initial sync from sources that do not have a featureCompatibilityVersion document.



 Comments   
Comment by Githook User [ 27/Oct/17 ]

Author:

{'email': 'judah@mongodb.com', 'name': 'Judah Schvimer', 'username': 'judahschvimer'}

Message: SERVER-31254 Fail initial sync if fCV targetVersion is set or if there is no fCV document
Branch: master
https://github.com/mongodb/mongo/commit/b06ccf5d5ea42228680e4d0bfee1af6b227c79bc

Comment by Maria van Keulen [ 28/Sep/17 ]

As part of SERVER-29452, we would like to fail to sync from nodes reporting featureCompatibilityVersion < 3.4. Since both tasks necessitate querying for the FCV document at the beginning of initial sync, it makes sense to do them concurrently.

Comment by Judah Schvimer [ 28/Sep/17 ]

An alternative would be to check the document locally after we clone it.

Comment by Spencer Brody (Inactive) [ 28/Sep/17 ]

Easiest way to do this is probably to just explicitly query the FCV document on the sync source at the beginning of initial sync and fail if the targetVersion field is set.

Generated at Thu Feb 08 04:26:27 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.