[SERVER-47096] Include configTerm in ReplSetMetadata Created: 24/Mar/20  Updated: 29/Oct/23  Resolved: 30/Mar/20

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.4.0-rc0, 4.7.0

Type: New Feature Priority: Minor - P4
Reporter: A. Jesse Jiryu Davis Assignee: A. Jesse Jiryu Davis
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-47157 Require ReplSetMetadata.configTerm Closed
Problem/Incident
Related
is related to SERVER-46667 Avoid invariant from invalid candidat... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.4
Participants:
Linked BF Score: 28

 Description   

Members include ReplSetMetadata in heartbeat requests and replies, and oplog query replies, in order to gossip their replication state. Members include their configVersion when they send ReplSetMetadata today, but configVersion alone isn't enough for members to be certain they have the same replica set config.

In 4.4, for the Safe Reconfig project, we added a term field to replica set configs. Add this term as a "configTerm" field to ReplSetMetadata. If two nodes have the same configVersion and configTerm, then they certainly have the same config.

There is no specific use for configTerm in ReplSetMetadata now, but I anticipate it will be useful if we add it. Adding it now in 4.4 will make it usable in 4.6 without upgrade/downgrade fuss.

(We thought of this during the SERVER-46667 investigation.)



 Comments   
Comment by Githook User [ 31/Mar/20 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-47096 Fix broken topology_coordinator_v1_test.cpp compile

(cherry picked from commit 1523acdf57238b3b7b2c49f51d8eaf8a6b1d22a1)
Branch: v4.4
https://github.com/mongodb/mongo/commit/9291d25edc0fe93c3c7a9b4b5b7be70e9063dc60

Comment by Githook User [ 31/Mar/20 ]

Author:

{'name': 'A. Jesse Jiryu Davis', 'email': 'jesse@mongodb.com', 'username': 'ajdavis'}

Message: SERVER-47096 Add ReplSetMetadata.configTerm

(cherry picked from commit 250cae2fdcd06600435d9f80de79f610e2c84df8)
Branch: v4.4
https://github.com/mongodb/mongo/commit/22b20b4138791b3b65016d688274bd8bfc4928cd

Comment by Githook User [ 30/Mar/20 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-47096 Fix broken topology_coordinator_v1_test.cpp compile
Branch: master
https://github.com/mongodb/mongo/commit/1523acdf57238b3b7b2c49f51d8eaf8a6b1d22a1

Comment by Githook User [ 30/Mar/20 ]

Author:

{'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis', 'email': 'jesse@mongodb.com'}

Message: SERVER-47096 Add ReplSetMetadata.configTerm
Branch: master
https://github.com/mongodb/mongo/commit/250cae2fdcd06600435d9f80de79f610e2c84df8

Generated at Thu Feb 08 05:13:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.