From d3db33c008542c7044f3ed8c19f3a45679fcf52e Mon Sep 17 00:00:00 2001 From: Stefan Podkowinski Date: Thu, 7 Apr 2016 16:32:56 +0200 Subject: [PATCH] Avoid read repairing purgeable tombstones Patch by Stefan Podkowinski; reviewed by Sylvain Lebresne for CASSANDRA-11427 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index fb06cd696d..19e1afe28c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.7 + * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427) * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510) * JSON datetime formatting needs timezone (CASSANDRA-11137) * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502) diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 79c9af2e36..abd41e73f4 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -2293,6 +2293,9 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean removeDroppedColumns(data); } + // remove purgable tombstones from result - see CASSANDRA-11427 + data.purgeTombstones(gcBefore(filter.timestamp)); + rows.add(new Row(rawRow.key, data)); if (!ignoreTombstonedPartitions || !data.hasOnlyTombstones(filter.timestamp)) matched++;