[SERVER-45082] Secondaries only learn configs with higher (term, version) pair Created: 12/Dec/19 Updated: 29/Oct/23 Resolved: 10/Feb/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.4 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Siyuan Zhou | Assignee: | William Schultz (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | safe-reconfig-consensus | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Repl 2019-12-30, Repl 2020-01-13, Repl 2020-01-27, Repl 2020-02-10, Repl 2020-02-24 | ||||||||
| Participants: | |||||||||
| Description |
|
Secondaries only learn a new config via heartbeats if the new config has a higher (term, version) pair than the node’s current config. |
| Comments |
| Comment by Githook User [ 10/Feb/20 ] |
|
Author: {'username': 'will62794', 'name': 'William Schultz', 'email': 'william.schultz@mongodb.com'}Message: |
| Comment by William Schultz (Inactive) [ 06/Feb/20 ] |
|
As a part of these changes, we decided to omit the "configTerm" field on all heartbeat requests sent by arbiters. This is to prevent 4.2 nodes from failing to parse these requests in a mixed version set, since arbiters don't respect FCV changes. This should be safe since the fields in a heartbeat requests only affect whether a node is going to immediately fetch a new config from the sender. It shouldn't affect the safety of the protocol. In certain cases, since omission of a configTerm in 4.4 is treated as a default of -1, it may prevent a node from fetching a newer config immediately, or cause a node to fetch a config that isn't actually newer. In either case, though, the node should never actually install a config that isn't newer, which is the necessary safety requirement. |
| Comment by Githook User [ 06/Feb/20 ] |
|
Author: {'name': 'William Schultz', 'username': 'will62794', 'email': 'william.schultz@mongodb.com'}Message: |
| Comment by Githook User [ 04/Feb/20 ] |
|
Author: {'name': 'William Schultz', 'username': 'will62794', 'email': 'william.schultz@mongodb.com'}Message: |