You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeff Jirsa (JIRA)" <ji...@apache.org> on 2017/08/27 20:06:02 UTC

[jira] [Commented] (CASSANDRA-13165) Read repair process.

    [ 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org