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

Jason Brown commented on CASSANDRA-5426:
----------------------------------------

In StreamingRepairTask.initiateStreaming(), there's this block

{code}try
{
...
  StreamOut.transferSSTables(outsession, sstables, request.ranges, 
OperationType.AES);
  // request ranges from the remote node
  StreamIn.requestRanges(request.dst, desc.keyspace, 
Collections.singleton(cfstore), request.ranges, this, OperationType.AES);
}
catch(Exception e) ...{code}

Is there any value in putting the StreamIn.requestRanges() in a separate try 
block and not (immediately) fail if StreamOut has a problem? Then, we could 
potentially make some forward progress (for the stream StreamIn) even if 
StreamOut fails? I'll note that 1.2 has the same try/catch as Yuki's new work, 
so it has not changed in that regard.




                
> Redesign repair messages
> ------------------------
>
>                 Key: CASSANDRA-5426
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5426
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Yuki Morishita
>            Assignee: Yuki Morishita
>            Priority: Minor
>              Labels: repair
>             Fix For: 2.0
>
>
> Many people have been reporting 'repair hang' when something goes wrong.
> Two major causes of hang are 1) validation failure and 2) streaming failure.
> Currently, when those failures happen, the failed node would not respond back 
> to the repair initiator.
> The goal of this ticket is to redesign message flows around repair so that 
> repair never hang.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to