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.