[SERVER-30242] Add a method to determine if fCV has been set. Created: 20/Jul/17 Updated: 30/Oct/23 Resolved: 16/Oct/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.0-rc1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Daniel Gottlieb (Inactive) | Assignee: | Louis Williams |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Storage 2017-08-21, Storage 2017-09-11, Storage 2017-10-23 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
There are some non-trivial code paths (e.g: shutdown) that can happen before FCV is initialized (inside `repairDatabasesAndCheckVersion`). These non-trivial code paths may require reading FCV from memory and may incorrectly read the default 3.4 as opposed to an explicitly set 3.4. The example of WiredTiger shutdown that wants to know the FCV value can make a sane decision with an uninitialized value. It's presumed this state would be sufficient for future cases. |
| Comments |
| Comment by Githook User [ 16/Oct/17 ] |
|
Author: {'email': 'louis.williams@mongodb.com', 'name': 'Louis Williams', 'username': 'louiswilliams'}Message: |
| Comment by Louis Williams [ 16/Oct/17 ] |
|
This will also close |
| Comment by Ian Whalen (Inactive) [ 16/Oct/17 ] |
|
louis.williams looks like the CR is LGTMd - have you run this cleanly on evergreen yet? Would like to get this merged today-ish in order to unblock Maria's work on |
| Comment by Eric Milkie [ 04/Oct/17 ] |
|
This new method should enable us to fix the KMIP issue in |
| Comment by Maria van Keulen [ 19/Sep/17 ] |
|
The discussion of the behavior in esha.maharishi's comment has been moved to |
| Comment by Esha Maharishi (Inactive) [ 12/Sep/17 ] |
|
Note: If you start a mongod with 3.5.12 with a replicaSet parameter, it will default to FCV=3.4 This is not desirable behavior and should be fixed as part of this ticket. |
| Comment by Eric Milkie [ 07/Sep/17 ] |
|
It may be possible to initialize FCV sooner in the startup process. Anything that attempts to access FCV prior to that point should abort the startup process. |