[
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)