cassandra-commits mailing list archives

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


Peter Schuller commented on CASSANDRA-2494:

The issue is that of *failed* QUORUM writes. I.e., you design your system to use QUORUM writes
and QUORUM reads, and expect that once a QUORUM read sees a given piece of data a subsequent
QUORUM read will also see it (or a later data). A *failed* QUORUM write that was replicated
to less than a QUORUM would be visible as part of QUORUM reads that happen to touch one of
those replicas, but there is no guarantee that subsequent reads see it.

I was under the impression this was never an intended guarantee. Apparently I may be wrong
about that given the jbellis quote above. In either case, it is certainly not an *actual*
guarantee given by the current implementation.

The guarantee that a *successful* QUORUM write is seen by a subsequent QUORUM read is, as
far as I can tell, not in question here.

> 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