[ 
https://issues.apache.org/jira/browse/CASSANDRA-13165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16143206#comment-16143206
 ] 

Jeff Jirsa commented on CASSANDRA-13165:
----------------------------------------

I suspect the short version is something like this:

Replica A,B,C gets CQL row 1 @ TS=1
Replica A goes offline.
Replica B, C gets CQL row 2 @ TS=2
Replica A comes up, replica B goes down
Replica A, C get CQL row 3 @ TS=3
Replica B comes up, replica C goes down
Replica A, B get CQL row 4 @ TS=4

You do a SELECT, and you get timestamps 1,3, 4 from A, 1,2, 4 FROM B, 1,2,3  
from C. If A is the coordinator, it has all of the winning timestamps for its 
three rows, but it doesn't know that it's missing a row. When the digest 
mismatch happens, it still needs to do a full data read to realize it's missing 
row 2.



> Read repair process.
> --------------------
>
>                 Key: CASSANDRA-13165
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13165
>             Project: Cassandra
>          Issue Type: Wish
>          Components: Coordination
>            Reporter: Andrey
>            Priority: Minor
>
> Why can't we send timestamps together with digests? It will reduce 
> unnecessary communications between coordinator and replicas. I think the size 
> of messages is not that matter here, because a latency( due to network) is 
> way more harmful. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to