atomically updating multiple keys
justin at affinix.com
Tue Nov 1 13:23:04 EDT 2011
On Tuesday, November 01, 2011 05:16:43 AM Tuure Laurinolli wrote:
> Yes, you would get causal consistency with N=3, R=2, W=2. If client A,
> using some side channel, tells client B that it inserted something, it is
> guaranteed that client B can read it.
Okay, good, this is how I understood it.
I am curious now though how R > 1 works under the hood. Suppose we've got the
above configuration (N=3, R=2, W=2) with server nodes X, Y, Z. If client A
writes to X and Y, and then, before the data propogates to Z, client B reads
from Y and Z, shouldn't the read operation fail because Y and Z don't agree on
the same value? Or is it enough that Y has the latest value and this trumps
whatever was returned from Z? I'd think it must be the latter behavior for
causal consistency to work.
More information about the riak-users