[
https://issues.apache.org/jira/browse/CASSANDRA-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023239#comment-13023239
]
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: https://issues.apache.org/jira/browse/CASSANDRA-2494
> Project: Cassandra
> Issue Type: Bug
> Reporter: Sean Bridges
>
> As discussed in this thread,
> http://www.mail-archive.com/[email protected]/msg12421.html
> 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: http://www.atlassian.com/software/jira