Merge branch 'cassandra-3.0' into cassandra-3.3

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

Branch: refs/heads/trunk
Commit: 10207793da3f8bfaa1348c70f21be744724bd54a
Parents: 93f6529 06960d7
Author: Sam Tunnicliffe <s...@beobal.com>
Authored: Thu Jan 14 14:13:23 2016 +0000
Committer: Sam Tunnicliffe <s...@beobal.com>
Committed: Thu Jan 14 14:13:23 2016 +0000

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../internal/composites/CompositesSearcher.java |  2 +-
 test/unit/org/apache/cassandra/Util.java        | 32 ++++++++++++++++++++
 .../apache/cassandra/db/SecondaryIndexTest.java | 18 +++++++++++
 .../org/apache/cassandra/index/StubIndex.java   | 27 ++---------------
 5 files changed, 54 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/10207793/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 85bc100,143ed2d..447b857
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,5 +1,8 @@@
 -3.0.3
 +3.3
 +Merged from 3.0:
+  * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
   * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
   * Fix UnsupportedOperationException when reading old sstable with range
     tombstone (CASSANDRA-10743)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10207793/src/java/org/apache/cassandra/index/internal/composites/CompositesSearcher.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10207793/test/unit/org/apache/cassandra/Util.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/Util.java
index 55fa824,7ce8f04..87a07b0
--- a/test/unit/org/apache/cassandra/Util.java
+++ b/test/unit/org/apache/cassandra/Util.java
@@@ -571,4 -564,35 +572,35 @@@ public class Uti
              return content.hasNext() ? content.next() : endOfData();
          }
      }
+ 
+     public static UnfilteredPartitionIterator 
executeLocally(PartitionRangeReadCommand command,
+                                                              
ColumnFamilyStore cfs,
 -                                                             ReadOrderGroup 
orderGroup)
++                                                             
ReadExecutionController controller)
+     {
 -        return new 
InternalPartitionRangeReadCommand(command).queryStorageInternal(cfs, 
orderGroup);
++        return new 
InternalPartitionRangeReadCommand(command).queryStorageInternal(cfs, 
controller);
+     }
+ 
+     private static final class InternalPartitionRangeReadCommand extends 
PartitionRangeReadCommand
+     {
+ 
+         private InternalPartitionRangeReadCommand(PartitionRangeReadCommand 
original)
+         {
+             super(original.isDigestQuery(),
+                   original.digestVersion(),
+                   original.isForThrift(),
+                   original.metadata(),
+                   original.nowInSec(),
+                   original.columnFilter(),
+                   original.rowFilter(),
+                   original.limits(),
+                   original.dataRange(),
+                   Optional.empty());
+         }
+ 
+         private UnfilteredPartitionIterator 
queryStorageInternal(ColumnFamilyStore cfs,
 -                                                                 
ReadOrderGroup orderGroup)
++                                                                 
ReadExecutionController controller)
+         {
 -            return queryStorage(cfs, orderGroup);
++            return queryStorage(cfs, controller);
+         }
+     }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10207793/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
index cfa0e9e,bbccc48..ee01a47
--- a/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
+++ b/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
@@@ -509,4 -515,15 +516,15 @@@ public class SecondaryIndexTes
              assertEquals(count, Util.size(iter));
          }
      }
+ 
+     private void assertIndexCfsIsEmpty(ColumnFamilyStore indexCfs)
+     {
+         PartitionRangeReadCommand command = 
(PartitionRangeReadCommand)Util.cmd(indexCfs).build();
 -        try (ReadOrderGroup orderGroup = command.startOrderGroup();
 -             PartitionIterator iter = 
UnfilteredPartitionIterators.filter(Util.executeLocally(command, indexCfs, 
orderGroup),
++        try (ReadExecutionController controller = 
command.executionController();
++             PartitionIterator iter = 
UnfilteredPartitionIterators.filter(Util.executeLocally(command, indexCfs, 
controller),
+                                                                           
FBUtilities.nowInSeconds()))
+         {
+             assertFalse(iter.hasNext());
+         }
+     }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10207793/test/unit/org/apache/cassandra/index/StubIndex.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/index/StubIndex.java
index 3ab38fd,28ea097..5f9d1f3
--- a/test/unit/org/apache/cassandra/index/StubIndex.java
+++ b/test/unit/org/apache/cassandra/index/StubIndex.java
@@@ -193,8 -194,7 +194,7 @@@ public class StubIndex implements Inde
  
      public Searcher searcherFor(final ReadCommand command)
      {
-         return orderGroup -> new 
InternalPartitionRangeReadCommand((PartitionRangeReadCommand)command)
-                              .queryStorageInternal(baseCfs, orderGroup);
 -        return (orderGroup) -> 
Util.executeLocally((PartitionRangeReadCommand)command, baseCfs, orderGroup);
++        return (controller) -> 
Util.executeLocally((PartitionRangeReadCommand)command, baseCfs, controller);
      }
  
      public BiFunction<PartitionIterator, ReadCommand, PartitionIterator> 
postProcessorFor(ReadCommand readCommand)

Reply via email to