cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CASSANDRA-6440) Repair should allow repairing particular endpoints to reduce WAN usage.
Date Tue, 17 Dec 2013 20:46:07 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-6440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis reassigned CASSANDRA-6440:
-----------------------------------------

    Assignee: sankalp kohli

> Repair should allow repairing particular endpoints to reduce WAN usage. 
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6440
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6440
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: sankalp kohli
>            Assignee: sankalp kohli
>            Priority: Minor
>         Attachments: JIRA-6440.diff
>
>
> 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.
> Another easy way to do this is to have repair command take nodes with which you want
to repair with. Then we can do something like this.
> 1) Run repair between (A and B) and (C and D)
> 2) Run repair between (A and C)
> 3) Run repair between (A and B) and (C and D)
> But this will increase the traffic inside the DC as we wont be doing proxy.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message