cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lyuben Todorov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6440) Repair should allow repairing particular endpoints to reduce WAN usage.
Date Mon, 30 Dec 2013 01:19:50 GMT

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

Lyuben Todorov commented on CASSANDRA-6440:
-------------------------------------------

Could we alter the {{IllegalArgumentException}} for cfs in the system keyspace? IAE always
gets thrown for any CF in the system KS regardless of what hosts are supplied. 

Nits: 
Missing space after {{if}} in ActiveRepairService#getNeighbors:

- line 186 - else if(hosts != null)
- line 201 - if(endpoint.equals(FBUtilities.getBroadcastAddress()) || neighbors.contains(endpoint))
- line 215 - if(!specifiedHost.contains(FBUtilities.getBroadcastAddress()))
- line 218 - if(specifiedHost.size() <= 1)



> 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.5#6160)

Mime
View raw message