Merge branch 'cassandra-3.0' into cassandra-3.11

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

Branch: refs/heads/cassandra-3.11
Commit: 4a531c27ce04e880f72feb49879d1cf6c2ee4b1d
Parents: 64d828b f7630e4
Author: Blake Eggleston <bdeggles...@gmail.com>
Authored: Wed Nov 28 09:13:56 2018 -0800
Committer: Blake Eggleston <bdeggles...@gmail.com>
Committed: Wed Nov 28 09:13:56 2018 -0800

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../db/rows/RowAndDeletionMergeIterator.java    | 40 +++++++++++++++-
 .../rows/RowAndDeletionMergeIteratorTest.java   | 48 ++++++++++++++++----
 3 files changed, 80 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a531c27/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 5fbd53e,6e18de1..ebcf1b2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,5 +1,7 @@@
 -3.0.18
 +3.11.4
 + * Correct sstable sorting for garbagecollect and levelled compaction 
(CASSANDRA-14870)
 +Merged from 3.0:
+  * RangeTombstoneList doesn't properly clean up mergeable or superseded rts 
in some cases (CASSANDRA-14894)
   * Fix handling of collection tombstones for dropped columns from legacy 
sstables (CASSANDRA-14912)
   * Fix missing rows when reading 2.1 SSTables with static columns in 3.0 
(CASSANDRA-14873)
   * Move TWCS message 'No compaction necessary for bucket size' to Trace level 
(CASSANDRA-14884)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a531c27/src/java/org/apache/cassandra/db/rows/RowAndDeletionMergeIterator.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a531c27/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java
----------------------------------------------------------------------
diff --cc 
test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java
index e4c04fb,dd88704..2f48000
--- 
a/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java
+++ 
b/test/unit/org/apache/cassandra/db/rows/RowAndDeletionMergeIteratorTest.java
@@@ -342,8 -349,31 +347,30 @@@ public class RowAndDeletionMergeIterato
          assertFalse(iterator.hasNext());
      }
  
 -
+     /**
+      * RTL doesn't correctly merge range tombstones in some situations (see 
CASSANDRA-14894)
+      */
+     @Test
+     public void testWithNoopBoundaryMarkers()
+     {
+         PartitionUpdate update = new PartitionUpdate(cfm, dk, 
cfm.partitionColumns(), 1);
+         RangeTombstoneList rtl = new RangeTombstoneList(cfm.comparator, 10);
+         rtl.add(rt(1, 2, 5, 5));
+         rtl.add(rt(3, 4, 5, 5));
+         rtl.add(rt(5, 6, 5, 5));
+         rtl.add(rt(0, 8, 6, 6)); // <- supersedes all other tombstones
+ 
+         Assert.assertEquals(3, rtl.size());
+ 
+         try (UnfilteredRowIterator partition = 
createMergeIterator(update.iterator(), rtl.iterator(), false))
+         {
+             assertRtMarker(partition.next(), 
ClusteringPrefix.Kind.INCL_START_BOUND, 0);
+             assertRtMarker(partition.next(), 
ClusteringPrefix.Kind.INCL_END_BOUND, 8);
+             assertFalse(partition.hasNext());
+         }
+     }
  
 -    private void assertRtMarker(Unfiltered unfiltered, Bound bound)
 +    private void assertRtMarker(Unfiltered unfiltered, 
ClusteringBoundOrBoundary bound)
      {
          assertEquals(Unfiltered.Kind.RANGE_TOMBSTONE_MARKER, 
unfiltered.kind());
          assertEquals(bound, unfiltered.clustering());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to