If you have only ttl columns, and you never update the column I would not think you need a repair.
Repair cures lost deletes. If all your writes have a ttl a lost write should not matter since the column was never written to the node and thus could never be resurected on said node. Unless i am missing something. On Monday, January 27, 2014, Laing, Michael <michael.la...@nytimes.com> wrote: > Thanks Sylvain, > Your assumption is correct! > So I think I actually have 4 classes: > 1. Regular values, no deletes, no overwrites, write heavy, variable ttl's to manage size > 2. Regular values, no deletes, some overwrites, read heavy (10 to 1), fixed ttl's to manage size > 2.a. Regular values, no deletes, some overwrites, read heavy (10 to 1), variable ttl's to manage size > 3. Counter values, no deletes, update heavy, rotation/truncation to manage size > Only 2.a. above requires me to do 'periodic repair'. > What I will actually do is change my schema and applications slightly to eliminate the need for overwrites on the only table I have in that category. > And I will set gc_grace_period to 0 for the tables in the updated schema and drop 'periodic repair' from the schedule. > Cheers, > Michael > > > On Mon, Jan 27, 2014 at 4:22 AM, Sylvain Lebresne <sylv...@datastax.com> wrote: >> >> By periodic repair, I'll assume you mean "having to run repair every gc_grace period to make sure no deleted entries resurrect". With that assumption: >> >>> >>> 1. Regular values, no deletes, no overwrites, write heavy, ttl's to manage size >> >> Since 'repair within gc_grace' is about avoiding value that have been deleted to resurrect, if you do no delete nor overwrites, you're in no risk of that (and don't need to 'repair withing gc_grace'). >> >>> >>> 2. Regular values, no deletes, some overwrites, read heavy (10 to 1), ttl's to manage size >> >> It depends a bit. In general, if you always set the exact same TTL on every insert (implying you always set a TTL), then you have nothing to worry about. If the TTL varies (of if you only set TTL some of the times), then you might still need to have some periodic repairs. That being said, if there is no deletes but only TTLs, then the TTL kind of lengthen the period at which you need to do repair: instead of needing to repair withing gc_grace, you only need to repair every gc_grace + min(TTL) (where min(TTL) is the smallest TTL you set on columns). >>> >>> 3. Counter values, no deletes, update heavy, rotation/truncation to manage size >> >> No deletes and no TTL implies that your fine (as in, there is no need for 'repair withing gc_grace'). >> >> -- >> Sylvain > -- Sorry this was sent from mobile. Will do less grammar and spell check than usual.