cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Anastasyev (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6863) Incorrect read repair of range thombstones
Date Tue, 22 Apr 2014 08:19:19 GMT

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

Mime
View raw message