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/075f4586
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/075f4586
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/075f4586

Branch: refs/heads/cassandra-3.11
Commit: 075f4586231f2481bfc9f7d10a0e04784b281fc3
Parents: 4e6eb9a 285153f
Author: Blake Eggleston <bdeggles...@gmail.com>
Authored: Tue Oct 16 12:48:38 2018 -0700
Committer: Blake Eggleston <bdeggles...@gmail.com>
Committed: Tue Oct 16 12:48:38 2018 -0700

----------------------------------------------------------------------
 CHANGES.txt                                     |   1 +
 .../columniterator/SSTableReversedIterator.java | 118 +++++++++++++++----
 ...acted_multi_block_rt-ka-4-CompressionInfo.db | Bin 0 -> 43 bytes
 ...acy_ka_compacted_multi_block_rt-ka-4-Data.db | Bin 0 -> 17848 bytes
 ...ka_compacted_multi_block_rt-ka-4-Digest.sha1 |   1 +
 ...y_ka_compacted_multi_block_rt-ka-4-Filter.db | Bin 0 -> 176 bytes
 ...cy_ka_compacted_multi_block_rt-ka-4-Index.db | Bin 0 -> 303 bytes
 ..._compacted_multi_block_rt-ka-4-Statistics.db | Bin 0 -> 4490 bytes
 ..._ka_compacted_multi_block_rt-ka-4-Summary.db | Bin 0 -> 92 bytes
 ...acy_ka_compacted_multi_block_rt-ka-4-TOC.txt |   8 ++
 ...ushed_multi_block_rt-ka-1-CompressionInfo.db | Bin 0 -> 43 bytes
 ...egacy_ka_flushed_multi_block_rt-ka-1-Data.db | Bin 0 -> 17569 bytes
 ...y_ka_flushed_multi_block_rt-ka-1-Digest.sha1 |   1 +
 ...acy_ka_flushed_multi_block_rt-ka-1-Filter.db | Bin 0 -> 16 bytes
 ...gacy_ka_flushed_multi_block_rt-ka-1-Index.db | Bin 0 -> 306 bytes
 ...ka_flushed_multi_block_rt-ka-1-Statistics.db | Bin 0 -> 4478 bytes
 ...cy_ka_flushed_multi_block_rt-ka-1-Summary.db | Bin 0 -> 92 bytes
 ...egacy_ka_flushed_multi_block_rt-ka-1-TOC.txt |   8 ++
 .../cassandra/io/sstable/LegacySSTableTest.java |  26 ++++
 19 files changed, 140 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/075f4586/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index d02226e,78c0c47..d28ba32
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,5 -1,5 +1,6 @@@
 -3.0.18
 +3.11.4
 +Merged from 3.0:
+  * Legacy sstables with  multi block range tombstones create invalid bound 
sequences (CASSANDRA-14823)
   * Expand range tombstone validation checks to multiple interim request 
stages (CASSANDRA-14824)
   * Reverse order reads can return incomplete results (CASSANDRA-14803)
   * Avoid calling iter.next() in a loop when notifying indexers about range 
tombstones (CASSANDRA-14794)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/075f4586/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java
----------------------------------------------------------------------
diff --cc 
src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java
index f5094a5,2d95dab..82f358b
--- 
a/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java
+++ 
b/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java
@@@ -165,21 -157,30 +167,30 @@@ public class SSTableReversedIterator ex
          {
              if (!hasNext())
                  throw new NoSuchElementException();
-             return iterator.next();
+             Unfiltered next = iterator.next();
+             mostRecentlyEmitted = next;
+             return next;
          }
  
 -        protected boolean stopReadingDisk()
 +        protected boolean stopReadingDisk() throws IOException
          {
              return false;
          }
  
+         // checks if left prefix precedes right prefix
+         private boolean precedes(ClusteringPrefix left, ClusteringPrefix 
right)
+         {
+             return metadata().comparator.compare(left, right) < 0;
+         }
+ 
          // Reads the unfiltered from disk and load them into the reader 
buffer. It stops reading when either the partition
          // is fully read, or when stopReadingDisk() returns true.
 -        protected void loadFromDisk(Slice.Bound start,
 -                                    Slice.Bound end,
 +        protected void loadFromDisk(ClusteringBound start,
 +                                    ClusteringBound end,
-                                     boolean includeFirst,
                                      boolean hasPreviousBlock,
-                                     boolean hasNextBlock) throws IOException
+                                     boolean hasNextBlock,
+                                     ClusteringPrefix currentFirstName,
+                                     ClusteringPrefix nextLastName) throws 
IOException
          {
              // start != null means it's the block covering the beginning of 
the slice, so it has to be the last block for this slice.
              assert start == null || !hasNextBlock;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/075f4586/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java
----------------------------------------------------------------------


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

Reply via email to