On Tue, Apr 24, 2012 at 7:38 AM, Praveen Baratam
<praveen.bara...@gmail.com> wrote:
> I will start with a hypothetical scenario to make my question easy to
> comprehend.
>
> Time 1: Client A updates Row 1 in CF C. N=3, W=1
>
> Time 2: Client A reads Row1 in CF C. N=3, R=1
>
> Can we expect the update to be seen by all replicas and reply consistently
> in T2?

To get the behavior you want you need W+R > N (and Client A needs to
have received confirmation of the successful write before performing
the read).

With W = 1, two replicas could be unavailable to the coordinator node
and not receive the update. They should *eventually* receive the
update, but if you read with R = 1 before they do so, it is possible
that the value you are reading is a stale value from a previously
unavailable node.

If you used W = 2 then by the time the write successfully completes
the updated value must be on 2 of the 3 replicas. A read with R = 2
then cannot complete without finding and returning the new value.

Reply via email to