In this cases, assume we have 4-nodes cluster N1, N2, N3, and N4 and
replication factor is 3. Client c1 sends W1 = [k1,V1] to N1 (a
coordinator).  A coordinator (N1) generates timestamp Mon 05-09-2015
11:30:40,200 (according to its local clock) and assigned it to W1 and sends
the W1 to the N2, N3, and N4. After few seconds, Client c2 sends W2 = [K1,
V2] to N4 (a coordinator). A coordinator (N4) generates timestamp Mon
05-09-2015 11:30:38,200 (according to its local clock, but assume here N4
clock a bit behind, nearly 2 seconds) and assigned IT to W2 and sends the
W2 to N2, N3, and N4 (itself).

Assume we have write CL =ALL and read CL = ONE. Now, Client c2 wants to
read K1, connects to a coordinator N1, a coordinator sends read K1 to N1,
picking latest timestamp which is [K1, V1]:Mon 05-09-2015 11:30:40,200.

So in this scenario, the latest data that wrote to the replicas is [K1, V2]
which should be the correct one, but it reads [K1,V1] because of divert
clock.

Can such scenario occur?

Thank you

Reply via email to