Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11166

Range tombstones not accounted in tracing/cfstats

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Fix Version/s: 3.11.2, 4.0
    • Component/s: Observability
    • Labels:
      None

      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

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                anubhavk Anubhav Kale
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: