educative.io

Clarification regarding coordinator node and leaderless replication

  1. I’m confused with the way the write request described. The article states
    A node handling a read or write operation is known as a coordinator. The coordinator is the first among the top n nodes in the preference list.
    Doesn’t it mean that this is not a leaderless replication at all? If each write request goes through the same coordinator node each time (the first one in a preference list) and the only possible way to fullfil the request by the second node is the first one crash or network partiotion?

  2. The second question related to the first, if we have a real leaderless replication where each node in replication list can process a request and we don’t have a coordinator (local leader if you wish), how then vector clocks being generated? If each node tries to create a document for a key K1 and assign a new vector clock counter A:1 for node A, B:1 for a node B and C:1 for a node C. On a next read by this key client will receive a document with three vector clocks A, B and C which indicates a conflict. But no actual conflict happened.
    Am I missing how leaderless replication works, or we need to have a coordinator in order for vector clocks to be feasible?
    Is there any leaderless nosql stores that don’t rely on coordinator node (client sends three request for each of the node in replication list) and implement the vector clock and how?


Course: Grokking Modern System Design Interview for Engineers & Managers - AI-Powered Learning for Developers
Lesson: Versioning Data and Achieving Configurability - Grokking Modern System Design Interview for Engineers & Managers


Course: Grokking Modern System Design Interview for Engineers & Managers - AI-Powered Learning for Developers
Lesson: Versioning Data and Achieving Configurability - Grokking Modern System Design Interview for Engineers & Managers

1 Like

Please clarify, i have the same doubt. I am not able to follow these details properly.