Both are true If you have a cell that exists in a data file that has expired, but not yet been compacted away, the read path will treat it like a delete/tombstone.
Imagine you write a value (no tombstone) - set val=A 2 minutes later, you write a new value (set val=B) on top of it with an expiration of 60 seconds. Wait 5 minutes and read, you expect reads to that row to return nothing - the B cell has to act like a tombstone to shadow A until both are compacted away, which may be seconds or years. On Tue, Jul 20, 2021 at 7:38 AM Who Dadddy <qwerty15...@gmail.com> wrote: > I was reading the docs here: > > https://docs.datastax.com/en/archived/cql/3.1/cql/cql_using/use_expire_c.html > > It says "Expired data is marked with a tombstone after on the next read on > the read path” - is this correct? My understanding of TTLs is that the > expiry is written at write time and then the data is compacted out when it > expires. It says here when you read the data, it generates a tombstone? > > Is this correct or are DataStax docs wrong? > > Thanks. >