cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Bridges (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2494) Quorum reads are not consistent
Date Fri, 22 Apr 2011 15:24:06 GMT


Sean Bridges commented on CASSANDRA-2494:

To be clear, this is a new guarantee.  The current guarantee is R+W>N gives you consistency.
 This bug is asking that a quorum read of A means that A has been committed to a quorum of

"How can we ensure the quorum read property that you want ?"

If when reading at quorum, and no quorum can be found which agrees on a particular value,
then the coordinator (?) will wait for acks of read repair writes (or perhaps just do normal
writes) to be returned from a sufficient number of nodes to ensure that the value has been
committed to a quorum of nodes.

Without this new guarantee it is hard for readers to function correctly.  The reader does
not know that the quorum write failed, or is still in progress, so without reading at ALL,
the R+W>N guarantee does not help the reader.

> Quorum reads are not consistent
> -------------------------------
>                 Key: CASSANDRA-2494
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sean Bridges
> As discussed in this thread,
> Quorum reads should be consistent.  Assume we have a cluster of 3 nodes (X,Y,Z) and a
replication factor of 3. If a write of N is committed to X, but not Y and Z, then a read from
X should not return N unless the read is committed to at  least two nodes.  To ensure this,
a read from X should wait for an ack of the read repair write from either Y or Z before returning.
> Are there system tests for cassandra?  If so, there should be a test similar to the original
post in the email thread.  One thread should write 1,2,3... at consistency level ONE.  Another
thread should read at consistency level QUORUM from a random host, and verify that each read
is >= the last read.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message