educative.io

Who maintains the vector clocks?

During the network partition:

The context with updated versions, which are E3, E4, and their related clocks, which are ([A,2], [B,1]) and ([A,2], [C,1]) are now in the system.

What does it mean by “are now in the system”? Are the clocks ([A,2], [B,1]) and ([A,2], [C,1]) returned to the client (who initiated the write request) from the key-value store and then maintained by the client? Or are the clocks kept internal to the key-value store and maintain by some node(s)?


Course: Grokking Modern System Design Interview for Engineers & Managers - Learn Interactively
Lesson: Versioning Data and Achieving Configurability - Grokking Modern System Design Interview for Engineers & Managers

Hi @seantech1999, in the system here means there are two different clocks (divergent) at two different nodes. After the network partition as shown in slide 5 below this text, two nodes handle two different write requests and hence the clock values become different. Then the client is asked to provide the version to go with for reconciliation.

1 Like