> 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)