[ 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.