cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacek Lewandowski (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5972) Reduce the amount of data to be transferred during repair
Date Tue, 03 Sep 2013 14:46:52 GMT


Jacek Lewandowski commented on CASSANDRA-5972:

Yes, that does assume a bunch of things. I know that it is far more complicated than the current
solution. And, I agree that a huge advantage of the solution proposed in
is its rather straightforward implementation, especially in comparison to the one described

However, I've found it difficult to prove that the my solution is worse :)

For example, in a situation where one of n+1 replicas has outdated sub-range R, the procedure
from C*-3200 will initiate n+1 data transfers. With the algorithm described here, we would
require only one data transfer with a probability (n-1)/n, or 2 data transfers with a probability
1/n. It depends on which node starts the sequence.  

> Reduce the amount of data to be transferred during repair
> ---------------------------------------------------------
>                 Key: CASSANDRA-5972
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jacek Lewandowski
>            Priority: Minor
> Currently, when a validator finds a token range different in n replicas, data streams
are initiated simultaneously between each possible pair of these n nodes, in both directions.
It yields n*(n-1) data stream in total. 
> It can be done in a sequence - Replica[1] -> R[2], R[2] -> R[3], ... , R[n-1] ->
R[n]. After this process, the data in R[n] are up to date. Then, we continue: R[n] -> R[1],
R[1] -> R[2], ... , R[n-2] -> R[n-1]. The active repair is done after 2*(n-1) data transfers
performed sequentially in 2*(n-1) steps.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message