Don't compute expensive MaxPurgeableTimestamp until we've verified there's an expired tombstone patch by jbellis; reviewed by marcuse for CASSANDRA-11834
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/00f25401 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/00f25401 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/00f25401 Branch: refs/heads/cassandra-3.0 Commit: 00f25401c9a320c0c2ac94fbb1014f49597026fd Parents: 9359af2 Author: Jonathan Ellis <jbel...@apache.org> Authored: Wed May 18 12:24:23 2016 -0500 Committer: Jonathan Ellis <jbel...@apache.org> Committed: Wed May 18 12:25:45 2016 -0500 ---------------------------------------------------------------------- CHANGES.txt | 11 ++++++++--- .../cassandra/db/compaction/LazilyCompactedRow.java | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/00f25401/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 68f8dd9..3972248 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 http://git-wip-us.apache.org/repos/asf/cassandra/blob/00f25401/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 941557b..4ca9829 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;