Here is an example of several different kinds of C*
tombstones. For reference, they are:
The obvious culprit of tombstone creation is DELETE
, but there are other - less obvious - sources of the tombstone. Let’s see exacly what happens on disk when a tombstone is created. It's funny to say that a tombstone is created... aren't we deleting things? Remember, everything in C*
is a write! A DELETE
operation writes another sstable
entry with a newer timestamp than all the other entries... and the most recent timestamp wins!
I’ve created a DataStax Studio notebook that complements this gist. You should be able to download it and run it for yourself :-) nodetool
and sstabledump
commands need to be run from a terminal on the node(s) you're working with.