Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
Fully Compatible
-
Sharding 2020-04-06, Sharding 2020-04-20, Sharding 2020-05-04, Sharding 2020-05-18
Description
This task is to implement a VectorClockService, which will unify, track, gossip and ensure persistence for all of the global vector clock components. Specifically, the components which it will track are: clusterTime, configOpTime, topologyOpTime.
The VectorClockService will be hooked at all inbound/outbound network places in order to be able to gossip the global vector clock and should implement the following methods:
- gossipInMemoryVectorClockOut(BSONObjBuilder* outMessage)
- gossipInMemoryVectorClockIn(const BSONObj& inMessage)
- advanceVectorClock()
- waitForInMemoryVectorTimeToBePersisted()
- registerVectorClockChangeListener(ListenerInterface& nonBlockingListener)
Attachments
Issue Links
- depends on
-
SERVER-46201 Implement a generic ReplicaSetStateAwareService
-
- Closed
-
-
SERVER-47870 Push updated majority commit point values on config servers into configOpTime
-
- Closed
-
- is depended on by
-
SERVER-47914 Move clusterTime from LogicalClock to VectorClock
-
- Closed
-