cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-2494) Quorum reads are not monotonically consistent
Date Wed, 03 Aug 2011 16:35:27 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis updated CASSANDRA-2494:
--------------------------------------

    Attachment: 2494-v2.txt

bq. There is a number of case where scheduleRepairs may not have been called

defaulted repairResults to emptyList.

bq. That new wait can extend the rpc timeout to almost twice what it should be

Well, sort of -- rpctimeout is working exactly as intended, i.e., to prevent waiting indefinitely
for a node that died after we sent it a request.  Treating it as "max time to respond to client"
has never really been correct.  (E.g., in the CL > ONE case we can already wait up to rpctimeout
twice, one for the original digest read set, and again for the data read after mismatch.)
 So I don't think we should try to be clever with that here.

bq. Shouldn't we give the same love to range requests, now that we do repairs there too

done.

> Quorum reads are not monotonically consistent
> ---------------------------------------------
>
>                 Key: CASSANDRA-2494
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2494
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Sean Bridges
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 2494-v2.txt, 2494.txt
>
>
> As discussed in this thread,
> http://www.mail-archive.com/user@cassandra.apache.org/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

        

Mime
View raw message