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 <o...@eyeviewdigital.com>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 <dimet...@flysoft.ru> wrote: > >> Does cassandra delete tombstones during simple LCS compaction or I should >> use >> node tool repair? >> >> Thanks. >> >> >> >> -- >> View this message in context: >> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Tombstones-tp7594467.html >> Sent from the cassandra-u...@incubator.apache.org mailing list archive >> at Nabble.com. >> > > -- Cheers, -Arya