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.

Reply via email to