** If versioning is enabled, perform syntactic reconciliation and generate an opaque write context that contains the vector clock that subsumes all the remaining versions.**
After the read response has been returned to the caller, the state machine waits for a short period to receive any outstanding responses. If stale versions were returned in any of the responses, the coordinator updates those nodes with the latest version. This process is called Read Repair because it repairs replicas that have missed a recent update.
If there is a syntactic reconciliation of data and the client responds with a stale version in the write context why doesn’t the storage engine give preference to the version of the data sent by the client in the write context? Isn’t it that data sent by the client takes precedence over automatic syntactic reconciliation done by the engine?
Course: Grokking the Advanced System Design Interview - Learn Interactively
Lesson: The Life of Dynamo’s put() & get() Operations - Grokking the Advanced System Design Interview
Course: Grokking the Advanced System Design Interview - Learn Interactively
Lesson: The Life of Dynamo’s put() & get() Operations - Grokking the Advanced System Design Interview
Course: Grokking the Advanced System Design Interview - Learn Interactively
Lesson: The Life of Dynamo’s put() & get() Operations - Grokking the Advanced System Design Interview