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 2016/06/30 11:19:13 UTC

[01/15] cassandra git commit: Account for partition deletions in tombstone histogram

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 cb14186f8 -> 5a9820d4a
  refs/heads/cassandra-2.2 38ed06136 -> f72927e8e
  refs/heads/cassandra-3.0 e4c344c58 -> b23fcc2cd
  refs/heads/cassandra-3.9 1f014b2ca -> 2df345af0
  refs/heads/trunk 9242c85cf -> db174f31c


Account for partition deletions in tombstone histogram

Patch by marcuse; reviewed by Sylvain Lebresne for CASSANDRA-12112


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

Branch: refs/heads/cassandra-2.1
Commit: 5a9820d4a4e3f911a4ec9735bae24261f2652d0f
Parents: cb14186
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 10:50:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:12:03 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  1 +
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index feeaded..354a1c2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/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 4ca9829..e9aecb2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -234,6 +234,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow
             minTimestampTracker.update(maxRowTombstone.isLive() ? Long.MAX_VALUE : maxRowTombstone.markedForDeleteAt);
             maxTimestampTracker.update(maxRowTombstone.markedForDeleteAt);
             maxDeletionTimeTracker.update(maxRowTombstone.isLive() ? Integer.MIN_VALUE : maxRowTombstone.localDeletionTime);
+            if (!maxRowTombstone.isLive())
+                tombstones.update(maxRowTombstone.localDeletionTime);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45..c8fd781 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@ -26,6 +26,8 @@ import org.apache.cassandra.cql3.CQLTester;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.io.sstable.SSTableReader;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -189,6 +191,19 @@ public class CompactionsCQLTest extends CQLTester
 
     }
 
+    @Test
+    public void testTopLevelDeletion() throws Throwable
+    {
+        createTable("CREATE TABLE %s (id int PRIMARY KEY, id2 text)");
+        execute("delete from %s where id = 22");
+        getCurrentColumnFamilyStore().forceBlockingFlush();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+        getCurrentColumnFamilyStore().forceMajorCompaction();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+    }
+
 
 
     @Test(expected = IllegalArgumentException.class)


[06/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: f72927e8e502ef97d6edadb4961151b9feee580a
Parents: 38ed061 5a9820d
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:13:37 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:15:24 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  3 +++
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48bd5aa,354a1c2..13a1c4f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,38 -1,5 +1,41 @@@
 -2.1.15
 +2.2.8
 + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
++Merged from 2.1:
+  * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
++
 +
 +2.2.7
 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
 + * Validate bloom_filter_fp_chance against lowest supported
 +   value when the table is created (CASSANDRA-11920)
 + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013)
 + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
 + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
 + * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
 + * Run CommitLog tests with different compression settings (CASSANDRA-9039)
 + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
 + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
 + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
 + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
 + * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
 + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
 + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
 + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395)
 + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
 + * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
 + * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
 + * 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)
 + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
 + * Add missing files to debian packages (CASSANDRA-11642)
 + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
 + * cqlsh: COPY FROM should use regular inserts for single statement batches and
 +   report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
 + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
 + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988)
 +Merged from 2.1:
   * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
   * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
   * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45,c8fd781..aa29808
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@@ -26,6 -26,8 +26,8 @@@ import org.apache.cassandra.cql3.CQLTes
  import org.apache.cassandra.cql3.UntypedResultSet;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 -import org.apache.cassandra.io.sstable.SSTableReader;
++import org.apache.cassandra.io.sstable.format.SSTableReader;
+ 
  import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  import static org.junit.Assert.fail;


[10/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: b23fcc2cde66f70df36ec7c811cee153c07882ff
Parents: e4c344c f72927e
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:12 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:12 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[05/15] cassandra git commit: Account for partition deletions in tombstone histogram

Posted by ma...@apache.org.
Account for partition deletions in tombstone histogram

Patch by marcuse; reviewed by Sylvain Lebresne for CASSANDRA-12112


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

Branch: refs/heads/cassandra-3.9
Commit: 5a9820d4a4e3f911a4ec9735bae24261f2652d0f
Parents: cb14186
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 10:50:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:12:03 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  1 +
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index feeaded..354a1c2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/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 4ca9829..e9aecb2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -234,6 +234,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow
             minTimestampTracker.update(maxRowTombstone.isLive() ? Long.MAX_VALUE : maxRowTombstone.markedForDeleteAt);
             maxTimestampTracker.update(maxRowTombstone.markedForDeleteAt);
             maxDeletionTimeTracker.update(maxRowTombstone.isLive() ? Integer.MIN_VALUE : maxRowTombstone.localDeletionTime);
+            if (!maxRowTombstone.isLive())
+                tombstones.update(maxRowTombstone.localDeletionTime);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45..c8fd781 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@ -26,6 +26,8 @@ import org.apache.cassandra.cql3.CQLTester;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.io.sstable.SSTableReader;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -189,6 +191,19 @@ public class CompactionsCQLTest extends CQLTester
 
     }
 
+    @Test
+    public void testTopLevelDeletion() throws Throwable
+    {
+        createTable("CREATE TABLE %s (id int PRIMARY KEY, id2 text)");
+        execute("delete from %s where id = 22");
+        getCurrentColumnFamilyStore().forceBlockingFlush();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+        getCurrentColumnFamilyStore().forceMajorCompaction();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+    }
+
 
 
     @Test(expected = IllegalArgumentException.class)


[14/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by ma...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


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

Branch: refs/heads/trunk
Commit: 2df345af0533438dc535c811d67c5d764b8943f2
Parents: 1f014b2 b23fcc2
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:25 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:25 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[04/15] cassandra git commit: Account for partition deletions in tombstone histogram

Posted by ma...@apache.org.
Account for partition deletions in tombstone histogram

Patch by marcuse; reviewed by Sylvain Lebresne for CASSANDRA-12112


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

Branch: refs/heads/cassandra-3.0
Commit: 5a9820d4a4e3f911a4ec9735bae24261f2652d0f
Parents: cb14186
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 10:50:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:12:03 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  1 +
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index feeaded..354a1c2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/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 4ca9829..e9aecb2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -234,6 +234,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow
             minTimestampTracker.update(maxRowTombstone.isLive() ? Long.MAX_VALUE : maxRowTombstone.markedForDeleteAt);
             maxTimestampTracker.update(maxRowTombstone.markedForDeleteAt);
             maxDeletionTimeTracker.update(maxRowTombstone.isLive() ? Integer.MIN_VALUE : maxRowTombstone.localDeletionTime);
+            if (!maxRowTombstone.isLive())
+                tombstones.update(maxRowTombstone.localDeletionTime);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45..c8fd781 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@ -26,6 +26,8 @@ import org.apache.cassandra.cql3.CQLTester;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.io.sstable.SSTableReader;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -189,6 +191,19 @@ public class CompactionsCQLTest extends CQLTester
 
     }
 
+    @Test
+    public void testTopLevelDeletion() throws Throwable
+    {
+        createTable("CREATE TABLE %s (id int PRIMARY KEY, id2 text)");
+        execute("delete from %s where id = 22");
+        getCurrentColumnFamilyStore().forceBlockingFlush();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+        getCurrentColumnFamilyStore().forceMajorCompaction();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+    }
+
 
 
     @Test(expected = IllegalArgumentException.class)


[03/15] cassandra git commit: Account for partition deletions in tombstone histogram

Posted by ma...@apache.org.
Account for partition deletions in tombstone histogram

Patch by marcuse; reviewed by Sylvain Lebresne for CASSANDRA-12112


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

Branch: refs/heads/trunk
Commit: 5a9820d4a4e3f911a4ec9735bae24261f2652d0f
Parents: cb14186
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 10:50:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:12:03 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  1 +
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index feeaded..354a1c2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/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 4ca9829..e9aecb2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -234,6 +234,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow
             minTimestampTracker.update(maxRowTombstone.isLive() ? Long.MAX_VALUE : maxRowTombstone.markedForDeleteAt);
             maxTimestampTracker.update(maxRowTombstone.markedForDeleteAt);
             maxDeletionTimeTracker.update(maxRowTombstone.isLive() ? Integer.MIN_VALUE : maxRowTombstone.localDeletionTime);
+            if (!maxRowTombstone.isLive())
+                tombstones.update(maxRowTombstone.localDeletionTime);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45..c8fd781 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@ -26,6 +26,8 @@ import org.apache.cassandra.cql3.CQLTester;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.io.sstable.SSTableReader;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -189,6 +191,19 @@ public class CompactionsCQLTest extends CQLTester
 
     }
 
+    @Test
+    public void testTopLevelDeletion() throws Throwable
+    {
+        createTable("CREATE TABLE %s (id int PRIMARY KEY, id2 text)");
+        execute("delete from %s where id = 22");
+        getCurrentColumnFamilyStore().forceBlockingFlush();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+        getCurrentColumnFamilyStore().forceMajorCompaction();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+    }
+
 
 
     @Test(expected = IllegalArgumentException.class)


[09/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.9
Commit: f72927e8e502ef97d6edadb4961151b9feee580a
Parents: 38ed061 5a9820d
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:13:37 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:15:24 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  3 +++
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48bd5aa,354a1c2..13a1c4f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,38 -1,5 +1,41 @@@
 -2.1.15
 +2.2.8
 + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
++Merged from 2.1:
+  * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
++
 +
 +2.2.7
 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
 + * Validate bloom_filter_fp_chance against lowest supported
 +   value when the table is created (CASSANDRA-11920)
 + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013)
 + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
 + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
 + * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
 + * Run CommitLog tests with different compression settings (CASSANDRA-9039)
 + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
 + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
 + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
 + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
 + * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
 + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
 + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
 + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395)
 + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
 + * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
 + * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
 + * 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)
 + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
 + * Add missing files to debian packages (CASSANDRA-11642)
 + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
 + * cqlsh: COPY FROM should use regular inserts for single statement batches and
 +   report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
 + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
 + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988)
 +Merged from 2.1:
   * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
   * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
   * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45,c8fd781..aa29808
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@@ -26,6 -26,8 +26,8 @@@ import org.apache.cassandra.cql3.CQLTes
  import org.apache.cassandra.cql3.UntypedResultSet;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 -import org.apache.cassandra.io.sstable.SSTableReader;
++import org.apache.cassandra.io.sstable.format.SSTableReader;
+ 
  import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  import static org.junit.Assert.fail;


[13/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by ma...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


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

Branch: refs/heads/cassandra-3.9
Commit: 2df345af0533438dc535c811d67c5d764b8943f2
Parents: 1f014b2 b23fcc2
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:25 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:25 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[08/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: f72927e8e502ef97d6edadb4961151b9feee580a
Parents: 38ed061 5a9820d
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:13:37 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:15:24 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  3 +++
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48bd5aa,354a1c2..13a1c4f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,38 -1,5 +1,41 @@@
 -2.1.15
 +2.2.8
 + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
++Merged from 2.1:
+  * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
++
 +
 +2.2.7
 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
 + * Validate bloom_filter_fp_chance against lowest supported
 +   value when the table is created (CASSANDRA-11920)
 + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013)
 + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
 + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
 + * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
 + * Run CommitLog tests with different compression settings (CASSANDRA-9039)
 + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
 + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
 + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
 + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
 + * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
 + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
 + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
 + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395)
 + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
 + * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
 + * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
 + * 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)
 + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
 + * Add missing files to debian packages (CASSANDRA-11642)
 + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
 + * cqlsh: COPY FROM should use regular inserts for single statement batches and
 +   report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
 + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
 + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988)
 +Merged from 2.1:
   * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
   * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
   * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45,c8fd781..aa29808
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@@ -26,6 -26,8 +26,8 @@@ import org.apache.cassandra.cql3.CQLTes
  import org.apache.cassandra.cql3.UntypedResultSet;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 -import org.apache.cassandra.io.sstable.SSTableReader;
++import org.apache.cassandra.io.sstable.format.SSTableReader;
+ 
  import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  import static org.junit.Assert.fail;


[12/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: b23fcc2cde66f70df36ec7c811cee153c07882ff
Parents: e4c344c f72927e
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:12 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:12 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[15/15] cassandra git commit: Merge branch 'cassandra-3.9' into trunk

Posted by ma...@apache.org.
Merge branch 'cassandra-3.9' into trunk


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

Branch: refs/heads/trunk
Commit: db174f31cbaec1f7e7bc7f61bf90432fbad923c2
Parents: 9242c85 2df345a
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:34 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:34 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[11/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.9
Commit: b23fcc2cde66f70df36ec7c811cee153c07882ff
Parents: e4c344c f72927e
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:18:12 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:18:12 2016 +0200

----------------------------------------------------------------------

----------------------------------------------------------------------



[07/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: f72927e8e502ef97d6edadb4961151b9feee580a
Parents: 38ed061 5a9820d
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 13:13:37 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:15:24 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  3 +++
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48bd5aa,354a1c2..13a1c4f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,38 -1,5 +1,41 @@@
 -2.1.15
 +2.2.8
 + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
++Merged from 2.1:
+  * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
++
 +
 +2.2.7
 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
 + * Validate bloom_filter_fp_chance against lowest supported
 +   value when the table is created (CASSANDRA-11920)
 + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013)
 + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
 + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
 + * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
 + * Run CommitLog tests with different compression settings (CASSANDRA-9039)
 + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
 + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
 + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
 + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
 + * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
 + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
 + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
 + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395)
 + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
 + * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
 + * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
 + * 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)
 + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
 + * Add missing files to debian packages (CASSANDRA-11642)
 + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
 + * cqlsh: COPY FROM should use regular inserts for single statement batches and
 +   report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
 + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
 + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988)
 +Merged from 2.1:
   * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
   * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
   * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f72927e8/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45,c8fd781..aa29808
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@@ -26,6 -26,8 +26,8 @@@ import org.apache.cassandra.cql3.CQLTes
  import org.apache.cassandra.cql3.UntypedResultSet;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 -import org.apache.cassandra.io.sstable.SSTableReader;
++import org.apache.cassandra.io.sstable.format.SSTableReader;
+ 
  import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  import static org.junit.Assert.fail;


[02/15] cassandra git commit: Account for partition deletions in tombstone histogram

Posted by ma...@apache.org.
Account for partition deletions in tombstone histogram

Patch by marcuse; reviewed by Sylvain Lebresne for CASSANDRA-12112


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

Branch: refs/heads/cassandra-2.2
Commit: 5a9820d4a4e3f911a4ec9735bae24261f2652d0f
Parents: cb14186
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 30 10:50:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 30 13:12:03 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                          |  1 +
 .../cassandra/db/compaction/LazilyCompactedRow.java  |  2 ++
 .../cassandra/db/compaction/CompactionsCQLTest.java  | 15 +++++++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index feeaded..354a1c2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/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 4ca9829..e9aecb2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -234,6 +234,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow
             minTimestampTracker.update(maxRowTombstone.isLive() ? Long.MAX_VALUE : maxRowTombstone.markedForDeleteAt);
             maxTimestampTracker.update(maxRowTombstone.markedForDeleteAt);
             maxDeletionTimeTracker.update(maxRowTombstone.isLive() ? Integer.MIN_VALUE : maxRowTombstone.localDeletionTime);
+            if (!maxRowTombstone.isLive())
+                tombstones.update(maxRowTombstone.localDeletionTime);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a9820d4/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 4553a45..c8fd781 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@ -26,6 +26,8 @@ import org.apache.cassandra.cql3.CQLTester;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.db.Keyspace;
+import org.apache.cassandra.io.sstable.SSTableReader;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -189,6 +191,19 @@ public class CompactionsCQLTest extends CQLTester
 
     }
 
+    @Test
+    public void testTopLevelDeletion() throws Throwable
+    {
+        createTable("CREATE TABLE %s (id int PRIMARY KEY, id2 text)");
+        execute("delete from %s where id = 22");
+        getCurrentColumnFamilyStore().forceBlockingFlush();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+        getCurrentColumnFamilyStore().forceMajorCompaction();
+        for (SSTableReader sstable : getCurrentColumnFamilyStore().getSSTables())
+            assertFalse(sstable.getSSTableMetadata().estimatedTombstoneDropTime.getAsMap().isEmpty());
+    }
+
 
 
     @Test(expected = IllegalArgumentException.class)