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

Oleg Anastasyev commented on CASSANDRA-6863:
--------------------------------------------

RangeTombstoneList.updateDigest:
{code}
+            for (int j = 0; j < ends[i].size(); j++)
+                digest.update(starts[i].get(j).duplicate());
{code}
should call digest.update on ends[i], not starts[i]

the rest LGTM

> Incorrect read repair of range thombstones
> ------------------------------------------
>
>                 Key: CASSANDRA-6863
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6863
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: 2.0
>            Reporter: Oleg Anastasyev
>         Attachments: 6863-v2.txt, 6863-v2.txt, 
> ReadRepairRangeThombstoneDiff.txt, ReadRepairsDebugLogger.txt
>
>
> Rows with range thombstones are read repaired for every replica, if RR is 
> triggered (this is because CF.diff() returns non null if !isEmpty(), which in 
> turn returns false if range thombstones list is not empty). 
> Also, full rangethombstone list is send to all nodes, which could be a 
> problem if you have wide partition.
> Fixed this by evaluating diff on range thombstone lists as well as on 
> deteleInfo of endpoint CF versions. Also return null from CF.diff, if no diff 
> in RTL.
> A second patch (ReadRepairsDebugLogger.txt) adds some debug logging to look 
> at read repairs. You may find it useful as well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to