incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arya Goudarzi <>
Subject Re: Tombstones
Date Fri, 16 May 2014 17:20:10 GMT
Nodetool cleanup deletes rows that aren't owned by specific tokens
(shouldn't be on this node). And nodetool repair makes sure data is in sync
between all replicas. It is wrong to say either of these commands cleanup
tombstones. Tombstones are only cleaned up during compactions only if they
are expired passed gc_grace_seconds. Now it is also incorrect to say that
compaction always cleans up tombstones. In fact there are situations that
can lead to tombstones live for a long time. SSTables are immutable, so if
the SSTables that hold tombstones aren't part of a compaction the
tombstones don't get cleaned up, so the behavior you are expecting is not
100% predictable. In case of LCS, if SStables are promoted to another
level, compaction happens and tombstones which are expired will cleanup.
Unlike SizeTiered in LCS there is no easy way to force compaction on
SSTables. One hack I have tried in the past was to stop the node and
deleted the .json file that holds level manifests. Start the node. LCS will
compact all of them again to figure out the levels. Another way is if you
pick smaller SSTable sizes, you may have more compaction churn but again it
is not 100% guarantee that the tombstones you want will be cleaned up.

On Fri, May 16, 2014 at 9:06 AM, Omar Shibli <>wrote:

> Yes, but still you need to run 'nodetool cleanup' from time to time to
> make sure all tombstones are deleted.
> On Fri, May 16, 2014 at 10:11 AM, Dimetrio <> wrote:
>> Does cassandra delete tombstones during simple LCS compaction or I should
>> use
>> node tool repair?
>> Thanks.
>> --
>> View this message in context:
>> Sent from the mailing list archive
>> at


View raw message