[SERVER-46200] Implement a VectorClockService Created: 15/Feb/20  Updated: 29/Oct/23  Resolved: 12/May/20

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kevin Pulo
Resolution: Fixed Votes: 0
Labels: PM-1645-Milestone-3
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-46201 Implement a generic ReplicaSetStateAw... Closed
depends on SERVER-47870 Push updated majority commit point va... Closed
is depended on by SERVER-47914 Move clusterTime from LogicalClock to... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-04-06, Sharding 2020-04-20, Sharding 2020-05-04, Sharding 2020-05-18
Participants:

 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)


 Comments   
Comment by Githook User [ 12/May/20 ]

Author:

{'name': 'Kevin Pulo', 'email': 'kevin.pulo@mongodb.com', 'username': 'devkev'}

Message: SERVER-46200 implement basic VectorClock service
Branch: master
https://github.com/mongodb/mongo/commit/94ff51257a099ee6af4a9c41ee61245918227760

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