cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <>
Subject Re: Using ttl to expire columns rather than using delete
Date Wed, 12 Oct 2011 13:51:03 GMT
Well, the reason you'd want to run repair is to get the tombstone on
nodes that missed the insert.  And that would only be important if you
sometimes generate inserts that would be otherwise shadowed by the
tombstone, right?

On Wed, Oct 12, 2011 at 2:17 AM, Sylvain Lebresne <> wrote:
> Unfortunately, expiring column are no magic bullet. If you insert
> columns with ttl=1,
> you're roughly doing the same thing than deleting, so the exact same
> rule concerning
> repair applies.
> What can be said on repair and expiring columns (and that may or may
> not be helpful)
> is that if you have a column family on which all and every column you
> insert has a
> ttl > n (for some n, including n = infinity) and ttl are your only
> means of deletion for
> that CF (i.e, no deletes), then it would be enough to run repair on
> that column family
> only every gc_grace + n period of time (instead of every gc_grace period).
> --
> Sylvain
> On Wed, Oct 12, 2011 at 3:49 AM, Terry Cumaranatunge <> wrote:
>> Hello,
>> If you set a ttl and expire a column, I've read that this eventually turns
>> into a tombstone and will be cleaned out by the GC. Are expirations
>> considered a form of delete that still requires a node repair to be run in
>> gc_grace_period seconds? The operations guide says you have to run node
>> repair if you have deletes, so I'm trying to find out if we can upsert the
>> column with expirations using a ttl=1 to substitute deletes. The node repair
>> operations is very intensive in our environment and causes a
>> significant performance degradation on the system.
>> Thanks

Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support

View raw message