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

Blake Eggleston commented on CASSANDRA-13257:
---------------------------------------------

The use cases I have in mind for the preview types {{ALL}}, {{UNREPAIRED}}, 
{{REPAIRED}} are: estimate streaming required for a full repair, estimate 
streaming for an incremental repair, and validate that repaired data is in 
sync, respectively. 

The immediate need this ticket addresses is validating CASSANDRA-9143 in a 
large and active cluster, where the main use of preview will be validating that 
repaired data is in sync

Using just a boolean {{isPreview}} on the streaming side doesn’t provide enough 
information to perform an accurate preview. We’d only ever be able to preview 
the full repair case. The existing stream session sstable selection logic 
either selects all sstables for a token range, or (post CASSANDRA-13328) only 
the sstables in a token range which are part of an in-progress repair. 
Selecting only the repaired or unrepaired sstables is not supported. Starting 
an actual incremental repair won’t work because it will perform anti-compaction 
before it does anything. Making {{StreamSession}} aware of {{PreviewKind}} is 
the most straightforward way to do this.

Between that and the potential for previewing streaming for things like 
decommission, etc, I think the best place for {{PreviewKind}} is in the 
streaming package. Supporting some repair related operations isn’t a stretch, 
given repair and streaming are already fairly closely coupled.


> Add repair streaming preview
> ----------------------------
>
>                 Key: CASSANDRA-13257
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13257
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Streaming and Messaging
>            Reporter: Blake Eggleston
>            Assignee: Blake Eggleston
>             Fix For: 4.0
>
>
> It would be useful to be able to estimate the amount of repair streaming that 
> needs to be done, without actually doing any streaming. Our main motivation 
> for this having something this is validating CASSANDRA-9143 in production, 
> but I’d imagine it could also be a useful tool in troubleshooting.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to