[SERVER-15080] Track all relevant replica set state in topology coordinator Created: 28/Aug/14  Updated: 02/Oct/14  Resolved: 10/Sep/14

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 2.7.7

Type: Improvement Priority: Major - P3
Reporter: Eric Milkie Assignee: Andy Schwerin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:

 Description   

The topology coordinator is the repository for replica set state about leadership and electability, and about topology (sync source). It should provide clear, well documented interfaces for updating and observing that state.



 Comments   
Comment by Githook User [ 10/Sep/14 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-15080 Fix assert code conflict.
Branch: master
https://github.com/mongodb/mongo/commit/ee28d3ffccd790b16675c3a09644661863965a0c

Comment by Githook User [ 10/Sep/14 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-15080 Move HeartbeatResponseAction and TopologyCoordinator::Role for readability.

HeartbeatResponseAction moves to its own file and becomes a top-level type,
because it is sometimes useful to have its definition without that of
TopologyCoordinator, and because it clutters the TopologyCoordinator class
definition. TopologyCoordinator::Role gets defined at the end of the
topology_coordinator.h header, so it also does not clutter the
TopologyCoordinator class definition.
Branch: master
https://github.com/mongodb/mongo/commit/adfc53c325d95826940a60891b11a2199aca4735

Comment by Githook User [ 10/Sep/14 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-15080 Clarify state-changing behavior of TopologyCoordinator and its implementation.

This patch simplifies the state stored in the TopologyCoordinatorImpl, introduces fuller documentary
comments to the interface, checks preconditions, deprecates several methods currently used only in
testing, and generally tries to make the behavior easier to follow.

Methods are introduced for adjusting the maintenance mode count; to allow the applier to move
the node between recovering, rollback, initial sync and secondary states; to handle winning and
losing elections, etc.
Branch: master
https://github.com/mongodb/mongo/commit/05df4fe1e691fcc03369ce64ac6d177d50b7778d

Generated at Thu Feb 08 03:36:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.