cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Blake Eggleston (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-13257) Add repair streaming preview
Date Wed, 15 Mar 2017 18:50:41 GMT


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

> Add repair streaming preview
> ----------------------------
>                 Key: CASSANDRA-13257
>                 URL:
>             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

View raw message