[
https://issues.apache.org/jira/browse/CASSANDRA-6863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Anastasyev updated CASSANDRA-6863:
---------------------------------------
Attachment: 6863-v2.txt
Attached v2, added digest calculation for range and row level thombstones.
There will be spikes of RRs triggered when rolling upgrading the cluster,
because old version and new version digests will not match on all rows with RTL.
> 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, 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)