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

Jonathan Ellis reassigned CASSANDRA-982:
----------------------------------------

    Assignee: Jonathan Ellis

Now that RR is done on the coordinator node (CASSANDRA-1873) it should be 
fairly easy to combine quorum read / read repair: create a ReadResponseResolver 
for the read, and send the data to the client when desired CL is achieved; if 
CL is less than CL.ALL, also schedule a RR check in TIMEOUT ms, that will 
resolve + repair responses that come after the response is ready.  
(Alternatively, trigger the check in ResponseVerbHandler for better latency.)

If RR is disabled, then only send the request to the minimum nodes needed to 
satisfy CL as in Daniel's patch.

I will give this a try after CASSANDRA-1905 is done, which touches a lot of the 
same code.

> read repair on quorum consistencylevel
> --------------------------------------
>
>                 Key: CASSANDRA-982
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-982
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 
> 0001-better-digest-checking-for-ReadResponseResolver.patch, 
> 0002-quorum-only-read.txt, 982-resolve-digests-v2.txt
>
>
> CASSANDRA-930 made read repair "fuzzy optional," but this only helps with 
> ConsistencyLevel.ONE:
> - Quorum reads always send requests to all nodes
> - only the first Quorum's worth of responses get compared
> So what we'd like to do two changes:
> - only send read requests to the closest R live nodes
> - if read repair is enabled, also compare results from the other nodes in the 
> background

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to