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

Marcus Eriksson commented on CASSANDRA-5351:
--------------------------------------------

Imo, keeping a separate set of levels for unrepaired data would be the way to 
go (or running 2 parallel STCS if thats the CS you run). I guess this would 
make reads a bit slower, but imo it is worth it, reads are _alot_ slower 
during/after repairs today anyway, amortizing that cost would make things more 
predictable.

With LCS you would have a bunch of nicely leveled newly flushed data, which is 
not yet repaired. Then, when repair is run, we would drop that data + any 
streamed data to level 0 in the repaired-data-LCS. And since the data is 
already partitioned nicely we would get very parallel L0 -> L1 compactions in 
the 'repaired'-LCS.

also, i guess this would make 'repair -pr' not work since we would need to 
repair all data on the node (which wouldn't be a problem since the amount of 
data to repair is tiny)

automatic repairs would be nice, but lets save that until we know that this 
ticket works?
                
> Avoid repairing already-repaired data by default
> ------------------------------------------------
>
>                 Key: CASSANDRA-5351
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5351
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Lyuben Todorov
>              Labels: repair
>             Fix For: 2.1
>
>
> Repair has always built its merkle tree from all the data in a columnfamily, 
> which is guaranteed to work but is inefficient.
> We can improve this by remembering which sstables have already been 
> successfully repaired, and only repairing sstables new since the last repair. 
>  (This automatically makes CASSANDRA-3362 much less of a problem too.)
> The tricky part is, compaction will (if not taught otherwise) mix repaired 
> data together with non-repaired.  So we should segregate unrepaired sstables 
> from the repaired ones.

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

Reply via email to