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

Marcus Olsson commented on CASSANDRA-5220:
------------------------------------------

I've done some work on this to make the repair handle multiple ranges at the 
same time(attaching patch). Essentially what it does is that it finds the 
common ranges for a set of nodes and repairs them all at the same time.

Assume we have three nodes A, B and C, and RF=2 containing the ranges:
A -> 1, 2, 3, 4
B -> 3, 4, 5, 6
C -> 1, 2, 5, 6
then if we issue a repair -pr on A it would create two repair sessions:
(A, B) -> (3, 4)
and
(A, C) -> (1, 2)
instead of one for each range:
(A, B) -> 3
(A, B) -> 4
(A, C) -> 1
(A, C) -> 2


The change is mostly centered around the new utility class MerkleTrees which is 
a wrapper for multiple MerkleTree's and their associated ranges. This utility 
class replaces the occurrences of the MerkleTree class in the validator phase 
and the repair messages. The changes are non-backwards compatible, since the 
repair job is sending multiple ranges and validation complete sends MerkleTrees 
instead of MerkleTree.

> Repair improvements when using vnodes
> -------------------------------------
>
>                 Key: CASSANDRA-5220
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5220
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Brandon Williams
>            Assignee: Yuki Morishita
>              Labels: performance, repair
>         Attachments: 5220-yourkit.png, 5220-yourkit.tar.bz2, 
> cassandra-3.0-5220.patch
>
>
> Currently when using vnodes, repair takes much longer to complete than 
> without them.  This appears at least in part because it's using a session per 
> range and processing them sequentially.  This generates a lot of log spam 
> with vnodes, and while being gentler and lighter on hard disk deployments, 
> ssd-based deployments would often prefer that repair be as fast as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to