netudima commented on code in PR #3730: URL: https://github.com/apache/cassandra/pull/3730#discussion_r1918796431
########## src/java/org/apache/cassandra/db/ReadCommand.java: ########## @@ -867,6 +868,130 @@ protected LongPredicate getPurgeEvaluator() return Transformation.apply(iterator, new WithoutPurgeableTombstones()); } + + /** + * Wraps the provided iterator so that metrics on count of purgeable tombstones are tracked and traced. + * It tracks only tombstones with localDeletionTime < now - gc_grace_period. + * Other (non-purgeable) tombstones will be tracked by regular Cassandra logic later. + */ + private UnfilteredPartitionIterator withPurgeableTombstonesMetricRecording(UnfilteredPartitionIterator iter, + ColumnFamilyStore cfs) + { + class PurgeableTombstonesMetricRecording extends Transformation<UnfilteredRowIterator> + { + private int purgeableTombstones = 0; + + @Override + public UnfilteredRowIterator applyToPartition(UnfilteredRowIterator iter) + { + return Transformation.apply(iter, this); Review Comment: I have looked again through the added code and now I am a bit concerned about the iteration over cells to check for cell tombstones - it may create a performance overhead + I am not sure if information about droppable cell tombstones is really valuable: all the times when I saw issues with droppable tombstones - it was about row tombstones. I am thinking now about an option to count only partition level and row level tombstones in this added logic and skip cell tombstones part.. I am going to measure the overhead to see how big the impact can be.. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org For additional commands, e-mail: pr-h...@cassandra.apache.org