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

Sylvain Lebresne updated CASSANDRA-2290:
----------------------------------------

    Attachment: 0001-Don-t-start-repair-if-a-neighbor-is-dead.patch

Attaching patch for the first problem above. It checks that all neighbors are 
alive before attempting the repair. If not, it don't start the repair. Another 
option would be to still do the repair with whomever neighbor are alive (if 
any). But I think that refusing to repair is a saner default and I'm fine 
waiting that someone needs the second option before considering adding it.


> Repair hangs if one of the neighbor is dead
> -------------------------------------------
>
>                 Key: CASSANDRA-2290
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2290
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.3
>            Reporter: Sylvain Lebresne
>         Attachments: 0001-Don-t-start-repair-if-a-neighbor-is-dead.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Repair don't cope well with dead/dying neighbors. There is 2 problems:
>   # Repair don't check if a node is dead before sending a TreeRequest; this 
> is easily fixable.
>   # If a neighbor dies mid-repair, the repair will also hang forever.
> The second point is not easy to deal with. The best approach is probably 
> CASSANDRA-1740 however. That is, if we add a way to query the state of a 
> repair, and that this query correctly check all neighbors and also add a way 
> to cancel a repair, this would probably be enough.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to