> i have RF=3, my row/column lives on 3 nodes right?  if (for some reason, eg
> a timed-out write at quorum) node 1 has a 'new' version of the row/column
> (eg clock = 10), but node 2 and 3 have 'old' versions (clock = 5), when i
> try to read my row/column at quorum, what do i get back?

You either get back the new version or the old version, depending on
whether node 1 was participated in the read. In your scenario, the
prevoius write at quorum failed (since it only made it to one node),
so this is not a violation of the contract.

Once node 2 and/or 3 return their response, read repair (if it is
active) will cause re-read and re-conciliation followed by a row
mutation being send to the nodes to correct the column.

> do i get the clock 5 version because that is what the quorum agrees on, and

No; a quorum of node is waited for, and the newest column wins. This
accomplish the reads-see-write invariant.

-- 
/ Peter Schuller (@scode, http://worldmodscode.wordpress.com)

Reply via email to