On tis, 2012-04-24 at 20:08 +0530, Praveen Baratam 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?
> 
> I presume Cassandra queues job messages on each node for execution. And
> because the coordinator node sends write messages to all replicas
> irrespective of how many replicas it  waits for ACK,

But there is no guarantee that all replicas receives the write messages
just because the messages were sent. Perhaps at T1 there was a (long
lasting) network partition and only the replica that responded with an
ACK actually got the message. Then at T2 the network partition may have
healed and the replica that ACK'ed the write may have crashed.

> the READ Job will be
> executed on each replica after the WRITE job, essentially delivering
> consistent data on sequential access.
> 
> Is this the way or there is no order in which messages are received and
> processed?

Niklas


Reply via email to