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

Jonathan Ellis commented on CASSANDRA-5351:
-------------------------------------------

bq. I'm not sure if bootstrapping data can be considered anti-compacted through 
cummutativity

Yes.  Since we only stream data from a single token range, we don't need to 
worry about mixing state for different peers.  If the data for sstable X was 
repaired on replica A vs replicas B and C, the data will still be repaired when 
moved to A'.  (We would have to teach streaming to not mix repaired/unrepaired 
sstables so that state can be preserved on the target.)

bq. C is forced to do an -ipr repair as A and B have already anti-compacted

I think it will be simpler if we allow C to do a non-ipr repair (and overstream 
previously repaired data, since A and B won't include it in their MT).  This is 
a corner case that will only happen if C crashes after streaming has completed 
successfully but before the repair is marked successful.

bq. Local DC repair vs. global is largely incompatible with this.

Yes, I think local implicitly means -ipr.  (So, if you are fond of local 
repair, you are no worse off.)

> 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 was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to