From 00f25401c9a320c0c2ac94fbb1014f49597026fd Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Wed, 18 May 2016 12:24:23 -0500 Subject: [PATCH] Don't compute expensive MaxPurgeableTimestamp until we've verified there's an expired tombstone patch by jbellis; reviewed by marcuse for CASSANDRA-11834 --- CHANGES.txt | 11 ++++++++--- .../cassandra/db/compaction/LazilyCompactedRow.java | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 68f8dd93da..39722487ec 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,13 +1,18 @@ 2.1.15 - * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-11679) + * Don't compute expensive MaxPurgeableTimestamp until we've verified there's an + expired tombstone (CASSANDRA-11834) + * Fix paging on DISTINCT queries repeats result when first row in partition changes + (CASSANDRA-11679) * Add option to disable use of severity in DynamicEndpointSnitch (CASSANDRA-11737) * cqlsh COPY FROM fails for null values with non-prepared statements (CASSANDRA-11631) * Make cython optional in pylib/setup.py (CASSANDRA-11630) - * Change order of directory searching for cassandra.in.sh to favor local one (CASSANDRA-11628) + * Change order of directory searching for cassandra.in.sh to favor local one + (CASSANDRA-11628) * cqlsh COPY FROM fails with []{} chars in UDT/tuple fields/values (CASSANDRA-11633) * clqsh: COPY FROM throws TypeError with Cython extensions enabled (CASSANDRA-11574) * cqlsh: COPY FROM ignores NULL values in conversion (CASSANDRA-11549) - * Validate levels when building LeveledScanner to avoid overlaps with orphaned sstables (CASSANDRA-9935) + * Validate levels when building LeveledScanner to avoid overlaps with orphaned + sstables (CASSANDRA-9935) 2.1.14 diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 941557b56e..4ca9829128 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -271,7 +271,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow RangeTombstone t = tombstone; tombstone = null; - if (t.timestamp() < getMaxPurgeableTimestamp() && t.data.isGcAble(controller.gcBefore)) + if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp()) { indexBuilder.tombstoneTracker().update(t, true); return null;