[ 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