cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vijay (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-6218) Reduce WAN traffic while doing repairs
Date Sat, 19 Oct 2013 07:04:42 GMT

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

Vijay edited comment on CASSANDRA-6218 at 10/19/13 7:04 AM:
------------------------------------------------------------

Wont it be simpler to just forward (Similar to write forwards) to the difference of (A, B)
and (C, D) to each other (after initial repair) than initiating another repair again between
(A, B) and (C, D) in step 3?

Another possible option: 
Consider (DC1: A, B, C and DC2: X, Y, Z)
Start Merkel tree comparison between all the nodes, once the differences is identified: Stream
within the DC and then across the DC using a proxy or a forwarder node picked. (A, B, C to
X) and then (X, Y, Z to A).... Now both the DC's have consistent data hence the proxy/forwarder
can stream the ranges which where identified as inconsistent in the Merkel comparison....



was (Author: vijay2win@yahoo.com):
Wont it be simpler to just forward (Similar to write forwards) to the difference of (A, B)
and (C, D) to each other (after initial repair) than initiating another repair again between
(A, B) and (C, D) in step 3?

Another possible option: 
Consider (DC1: A, B, C and DC2: X, Y, Z)
Start Merkel tree comparison between all the nodes, once the differences is identified: Stream
within the DC and then across the DC using a proxy or a forwarder node picked. (A, B, C to
X) and then (X, Y, Z to A).... Now both the DC has all the inconsistent data hence they can
stream the ranges which where identified as inconsistent.... 

> Reduce WAN traffic while doing repairs
> --------------------------------------
>
>                 Key: CASSANDRA-6218
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6218
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: sankalp kohli
>            Priority: Minor
>
> The way we send out data that does not match over WAN can be improved. 
> Example: Say there are four nodes(A,B,C,D) which are replica of a range we are repairing.
A, B is in DC1 and C,D is in DC2. If A does not have the data which other replicas have, then
we will have following streams
> 1) A to B and back
> 2) A to C and back(Goes over WAN)
> 3) A to D and back(Goes over WAN)
> One of the ways of doing it to reduce WAN traffic is this.
> 1) Repair A and B only with each other and C and D with each other starting at same time
t. 
> 2) Once these repairs have finished, A,B and C,D are in sync with respect to time t.

> 3) Now run a repair between A and C, the streams which are exchanged as a result of the
diff will also be streamed to B and D via A and C(C and D behaves like a proxy to the streams).
> For a replication of DC1:2,DC2:2, the WAN traffic will get reduced by 50% and even more
for higher replication factors. 
>  



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message