Peter Schuller <peter.schul...@infidyne.com> wrote:
>> 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)