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

Yuki Morishita commented on CASSANDRA-8208:
-------------------------------------------

I think you are right. Maybe we can just switch from Futures.allAsList() (its 
returned Future immediately fails when one of given Futures fails) to 
Futures.successfulAsList() and check null for failed repair in callback.

> Inconsistent failure handling with repair
> -----------------------------------------
>
>                 Key: CASSANDRA-8208
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8208
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Marcus Eriksson
>             Fix For: 3.0
>
>
> I think we introduced this with CASSANDRA-6455, problem is that we now treat 
> all repair futures as a single unit (Futures.allAsList(..)) which makes the 
> whole thing fail if one sub-future fails. Also, when one of those fail, we 
> notify nodetool that we failed and we stop the executor with shutdownNow() 
> which throws out any pending RepairJobs.
> [~yukim] I think we used to be able to proceed with the other RepairSessions 
> even if one fails, right? If not, we should probably call cancel on the 
> RepairJob runnables which are in queue for the executor after calling 
> shutdownNow() in repairComplete() in StorageService. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to