[ https://issues.apache.org/jira/browse/CASSANDRA-982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12986407#action_12986407 ]
ivan commented on CASSANDRA-982: -------------------------------- rep_fix_02.patch (for dae2b22bbd0937d8cd361ce1eed9e633a55ce979) changes - Message::removeHeader message.setHeader(RowMutation.FORWARD_HEADER, null) throws NullPointerException - db/RowMutationVerbHandler::forwardToLocalNodes set correct destination address for sendOneWay - response(ReadResponse result) added to DatacenterReadCallback otherwise ReadCallback will process local results and condition will be never signaled in DatacenterReadCallback - FORWARD header removed in StorageProxy::sendMessages if dataCenter equals to localDataCenter (if a non local DC processed before local DC FORWARD header will be set when unhintedMessage used in sendToHintedEndpoints. one instance of Message used for unhintedMessage) read/write endpoint list separation is not included in this patch. bq. On the read side we always do reads from the closest/fastest replicas as determined by the snitch, and we don't want to change that. if I'm right snitch determines the order of addresses not list of endpoint addresses. i think result of get(Live)NaturalEndpoints and calculateNaturalEndpoints need to depend on type of command. if a read command processed these methods should return a list of addresses just from local DC. then snitch will sort these addresses. > 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, > 0001-r-m-SP.weakRead-rename-strongRead-to-fetchRows.-read-r.txt, > 0002-implement-read-repair-as-a-second-resolve-after-the-in.txt, > 0002-quorum-only-read.txt, > 0003-rename-QuorumResponseHandler-ReadCallback.txt, > 982-resolve-digests-v2.txt, rep_fix_01.patch > > Original Estimate: 6h > Remaining Estimate: 6h > > 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.