[ https://issues.apache.org/jira/browse/CASSANDRA-10446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15645492#comment-15645492 ]
Paulo Motta commented on CASSANDRA-10446: ----------------------------------------- It seems repairedAt field is not being set on remote sync tasks, what will cause streamed data to be marked as repaired (see SYNC_REQUEST handling on RepairMessageVerbHandler). We could add a repairedAt field to SyncRequest message (what would break minor compatibility, so could only go on 4.0), but this shows a more fundamental problem with repair failure handling which is that if a repair session fails in the middle of sync, streamed sstables will be marked as repaired even if not all nodes got the data. In order to solve this we could stream sstables with repairedAt=0, and add them to the pool of sstables to be anti-compacted, so they will only be marked as repaired at the end of the parent repair session. If we want to add support to -force without fixing the more fundamental problem with repair sync failure handling, we could mark a forced ParentRepairSession as !isGlobal, what would mark all streamed sstables as *not* repaired as well as skip anti-compaction for the whole parent repair session. > Run repair with down replicas > ----------------------------- > > Key: CASSANDRA-10446 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10446 > Project: Cassandra > Issue Type: Improvement > Reporter: sankalp kohli > Assignee: Blake Eggleston > Priority: Minor > Fix For: 4.0 > > > We should have an option of running repair when replicas are down. We can > call it -force. -- This message was sent by Atlassian JIRA (v6.3.4#6332)