You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2014/07/31 07:43:07 UTC

git commit: Track min/max timestamps for range tombstones.

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 b40cb0507 -> 892bf5551


Track min/max timestamps for range tombstones.

Patch by marcuse; reviewed by iamaleksey for CASSANDRA-7647


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892bf555
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892bf555
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892bf555

Branch: refs/heads/cassandra-2.0
Commit: 892bf5551c06e669b02d161439463ebf2de0793c
Parents: b40cb05
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 30 13:38:51 2014 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jul 31 07:36:39 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                       | 1 +
 src/java/org/apache/cassandra/db/ColumnFamily.java                | 3 ++-
 .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java    | 3 ++-
 src/java/org/apache/cassandra/io/sstable/SSTableWriter.java       | 2 ++
 4 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4f08764..a6fc837 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
  * Add option to disable STCS in L0 (CASSANDRA-6621)
  * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
  * Backport CASSANDRA-6747 (CASSANDRA-7560)
+ * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 Merged from 1.2:
  * Set correct stream ID on responses when non-Exception Throwables
    are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/ColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java
index 638eacc..95e5645 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamily.java
@@ -426,7 +426,8 @@ public abstract class ColumnFamily implements Iterable<Column>, IRowCacheEntry
         {
             RangeTombstone rangeTombstone = it.next();
             tombstones.update(rangeTombstone.getLocalDeletionTime());
-
+            minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp());
+            maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp());
             minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator);
             maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator);
         }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/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 7cd0842..1da1757 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -253,7 +253,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable
                 else
                 {
                     tombstones.update(t.getLocalDeletionTime());
-
+                    minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp());
+                    maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp());
                     minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator);
                     maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator);
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index 3a2dca0..8a9bb18 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -243,6 +243,8 @@ public class SSTableWriter extends SSTable
         {
             RangeTombstone rangeTombstone = rangeTombstoneIterator.next();
             tombstones.update(rangeTombstone.getLocalDeletionTime());
+            minTimestamp = Math.min(minTimestamp, rangeTombstone.minTimestamp());
+            maxTimestamp = Math.max(maxTimestamp, rangeTombstone.maxTimestamp());
 
             minColumnNames = ColumnNameHelper.minComponents(minColumnNames, rangeTombstone.min, metadata.comparator);
             maxColumnNames = ColumnNameHelper.maxComponents(maxColumnNames, rangeTombstone.max, metadata.comparator);