[SERVER-78048] Add more developer guidance to the FCV README Created: 13/Jun/23  Updated: 21/Jun/23

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Gabriel Marks Assignee: Backlog - Replication Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Replication
Participants:

 Description   

A few points which I believe would be helpful to touch on in this README:

  • FCV initialization is mentioned, but it could be helpful to give some guidance on the appropriate place to add a hook which executes after FCV is initialized on each type of server (for example, use ReplSetAwareService::onInitialDataAvailable for replset members, add a hook in _initAndListen at some point after repairAndRecoverDatabases for standalones)
  • Some mention/caution of how the mongos works with FCV (i.e. that serverCompatibility.featureVersion will always give the mongos's binary version, and that this means that feature flag checks do not necessarily represent whether the state of the feature flag on the cluster).
  • Explanation of the expected order of binary upgrade/downgrade on a cluster, i.e. which nodes get upgraded/downgraded first, when in the process do we set FCV, etc. (not 100% sure of whether this is the correct fit for this document, but it is relevant when thinking about FCV)

Generated at Thu Feb 08 06:37:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.