Peter -

Thanks a lot for elaborating on repairs.    Still, it's a bit fuzzy to me why 
it is so important to run a repair before the GCGraceSeconds kicks in.   Does 
this mean a delete does not get "replicated" ?   In other words when I delete 
something on a node, doesn't cassandra set tombstones on its replica copies?

And technically, isn't repair only needed for cases where things weren't 
properly propogated in the cluster?  If all writes are written to the right 
replicas, and all deletes are written to all the replicas, and all nodes were 
available at all times, then everything should work as designed -  without 
manual intervention, right?

Thanks again.



On Mar 31, 2011, at 6:17 PM, Peter Schuller wrote:

>> silly question, would every cassandra installation need to have manual 
>> repairs done on it?
>> 
>> It would seem cassandra's "read repair" and regular compaction would take 
>> care of keeping the data clean.
>> 
>> Am I missing something?
> 
> See my previous posts in this thread for the distinct reasons to run
> repair. Except in special circumstances where you know exactly what
> you're doing (mainly that no deletes are performed), you are
> *required* to run repair often enough for GGraceSeconds:
> 
>   http://wiki.apache.org/cassandra/Operations#Frequency_of_nodetool_repair
> 
> It seems that there needs to be some more elaborate documentation
> about this somewhere to point to since there seems to be confusion.
> 
> Regular compaction does *not* imply repair. Read repair only works if
> (1) you touch all data within GCGraceSeconds, and (2) you touch it in
> such a way that read repair is enabled (e.g., not range scans), and
> (3) no node ever happens to be down, flap, or drop a request when you
> touch the data in question.
> 
> Basically, unless you are really sure what you're doing - run repair.
> 
> -- 
> / Peter Schuller

Reply via email to