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

Reply via email to