[SERVER-53643] Startup can see old version of featureCompatibilityVersion document Created: 07/Jan/21  Updated: 29/Oct/23  Resolved: 27/May/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.2.15, 4.4.7, 4.0.26, 5.0.0-rc3, 5.1.0-rc0

Type: Bug Priority: Major - P3
Reporter: Gregory Noma Assignee: Matthew Russotto
Resolution: Fixed Votes: 0
Labels: post-rc0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File breakupgrade.js    
Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.0, v4.4, v4.2, v4.0
Sprint: Repl 2021-04-05, Repl 2021-04-19, Repl 2021-05-31
Participants:
Linked BF Score: 24

 Description   

During startup, the featureCompatibilityVersion document is checked to ensure a valid FCV. However, it may be the case that the document was recently updated and this updated version needs to be recovered from the oplog through by replication recovery (as opposed to being able to recover it through WT journal recovery). If this occurs, this FCV validity check could fail even if the FCV had been set to a valid value.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 30/Jun/21 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-53643 Wait for FCV to be majority committed before reporting it.

(cherry picked from commit f34d72aed2861b91fdd2907058d1fbec7f66e328)
Branch: v4.0
https://github.com/mongodb/mongo/commit/e0987d2383a8146cb49ef9a01bbe9195a48af27b

Comment by Githook User [ 30/Jun/21 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-53643 Wait for FCV to be majority committed before reporting it.
Branch: v4.4
https://github.com/mongodb/mongo/commit/736134ae7f00ea8046b43a5e4382289cda33393e

Comment by Githook User [ 30/Jun/21 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-53643 Wait for FCV to be majority committed before reporting it.

(cherry picked from commit f34d72aed2861b91fdd2907058d1fbec7f66e328)
Branch: v4.2
https://github.com/mongodb/mongo/commit/d7fd78dead621a539c20791a93abec34bb1be385

Comment by Githook User [ 16/Jun/21 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-53643 Wait for FCV to be majority committed before reporting it.

(cherry picked from commit 11b41d28993c539b2b383d44f7969e6dd8e3f968)
Branch: v5.0
https://github.com/mongodb/mongo/commit/746d05d3154cfa1f583b91bc2b177c918f59cb8d

Comment by Githook User [ 27/May/21 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-53643 Wait for FCV to be majority committed before reporting it.
Branch: master
https://github.com/mongodb/mongo/commit/11b41d28993c539b2b383d44f7969e6dd8e3f968

Comment by Matthew Russotto [ 26/May/21 ]

To be effective this has to be implemented in the version being upgraded from.

Comment by Matthew Russotto [ 19/May/21 ]

Attached "breakupgrade.js" which reproduces the failure in 5.0.

Comment by Matthew Russotto [ 19/May/21 ]

I believe it would not be safe to skip this check; the oplog entries we are applying were applied using a 4.0 binary under a 3.6 FCV, and it is not necessarily safe to apply those same oplog entries using a 4.0 FCV and 4.2 binary.

We may need a change to the upgrade procedure, or perhaps special case getParameter for FCV to wait for the FCV to become stable.

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