Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Duplicate
-
None
-
Low
Description
I noticed an inconsistent behavior on deletes. Not sure if it is intentional.
The summary is:
If a table is created with TTL or if rows are inserted in a table using TTL, when its time to expire the row, tombstone is generated (as expected) and cfstats, cqlsh tracing and sstable2json show it.
However, if one executes a delete from table query followed by a select *, neither cql tracing nor cfstats shows a tombstone being present. However, sstable2json shows a tombstone.
Is this situation treated differently on purpose ? In such a situation, does Cassandra not have to scan tombstones (seems odd) ?
Also as a data point, if one executes a delete <some-column> from table, cqlsh tracing, nodetool cfstats, and sstable2json all show a consistent result (tombstone being present).
As a end user, I'd assume that deleting a row either via TTL or explicitly should show me a tombstone. Is this expectation reasonable ? If not, can this behavior be clearly documented ?
Attachments
Issue Links
- duplicates
-
CASSANDRA-8527 Account for range tombstones wherever we account for tombstones
-
- Resolved
-