[SERVER-47125] Require ReplSetMetadata.isPrimary, remove OplogQueryMetadata.primaryIndex Created: 25/Mar/20 Updated: 29/Oct/23 Resolved: 23/Apr/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | A. Jesse Jiryu Davis | Assignee: | A. Jesse Jiryu Davis |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | safe-reconfig-related | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Minor Change | ||||||||||||||||||||||||||||
| Sprint: | Repl 2020-04-20, Repl 2020-05-04 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
The ReplSetMetadata.isPrimary field was introduced in 4.4, with logic to handle conversations with 4.2 nodes that lack the field. In 4.6 we can assume the field is present and remove this logic. I plan to store isPrimary as boost::optional<bool> in 4.4, it can be a bool in 4.6. Remove compatibility logic from ReplSetMetadata::readFromMetadata. Remove from src/mongo/db/repl/README.md the claim that ReplSetHeartbeatResponse contains "The node the receiving node thinks is primary"? Check whether that claim is only about ReplSetMetadata. The OplogQueryMetadata.primaryIndex field is meaningless, since we don't know what version of the replica set config the index is valid for, see Do not backport this ticket. |
| Comments |
| Comment by Githook User [ 23/Apr/20 ] |
|
Author: {'name': 'A. Jesse Jiryu Davis', 'email': 'jesse@mongodb.com', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 15/Apr/20 ] |
|
Author: {'name': 'A. Jesse Jiryu Davis', 'email': 'jesse@mongodb.com', 'username': 'ajdavis'}Message: |
| Comment by A. Jesse Jiryu Davis [ 06/Apr/20 ] |
|
Blocked on 4.4.0-rc0, I think, so that multiversion tests will work with this change. |