[SERVER-47189] Do a safe reconfig to add config term on upgrade to FCV=4.4 Created: 30/Mar/20 Updated: 29/Oct/23 Resolved: 10/Apr/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | William Schultz (Inactive) | Assignee: | William Schultz (Inactive) |
| 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: | Repl 2020-04-20 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
When replica set nodes are in FCV=4.2, their replica set configs have no config "term" field. This is intentional so that the behavior in FCV=4.2 matches the v4.2 reconfig behavior. After upgrading to FCV=4.4, however, replica set nodes will not add a config term until the first safe reconfig is run. This can leave an indefinitely long period of time where nodes will have configs with uninitialized terms, which is unsafe for the reasons illustrated in the trace of this comment. To prevent this unsafe period of time after upgrade, we should do an internal no-op reconfig after upgrading to FCV=4.4 to automatically add config terms, analogous to what we do on FCV downgrade. |
| Comments |
| Comment by Githook User [ 10/Apr/20 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: |