Merge remote-tracking branch 'asf/cassandra-3.1' into trunk

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

Branch: refs/heads/trunk
Commit: 10054f3087aa79bc99b5e546340314b08df166ca
Parents: dbc8dd6 41f3cad
Author: Benjamin Lerer <[email protected]>
Authored: Fri Nov 27 11:18:46 2015 +0100
Committer: Benjamin Lerer <[email protected]>
Committed: Fri Nov 27 11:18:46 2015 +0100

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../org/apache/cassandra/db/ReadCommand.java    |  9 +-
 .../index/IndexNotAvailableException.java       | 34 ++++++++
 .../cassandra/index/SecondaryIndexManager.java  | 64 +++++++++++---
 .../index/internal/CassandraIndex.java          |  6 +-
 .../cassandra/net/MessageDeliveryTask.java      |  7 +-
 .../validation/entities/SecondaryIndexTest.java | 88 ++++++++++++++++----
 .../index/internal/CustomCassandraIndex.java    |  4 +-
 8 files changed, 178 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/src/java/org/apache/cassandra/db/ReadCommand.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ReadCommand.java
index f645da5,5ab1ee5..959085b
--- a/src/java/org/apache/cassandra/db/ReadCommand.java
+++ b/src/java/org/apache/cassandra/db/ReadCommand.java
@@@ -337,14 -335,20 +338,20 @@@ public abstract class ReadCommand exten
  
          ColumnFamilyStore cfs = Keyspace.openAndGetStore(metadata());
          Index index = getIndex(cfs);
-         Index.Searcher searcher = index == null ? null : 
index.searcherFor(this);
  
+         Index.Searcher searcher = null;
          if (index != null)
+         {
+             if (!cfs.indexManager.isIndexQueryable(index))
+                 throw new IndexNotAvailableException(index);
+ 
+             searcher = index.searcherFor(this);
              Tracing.trace("Executing read on {}.{} using index {}", 
cfs.metadata.ksName, cfs.metadata.cfName, index.getIndexMetadata().name);
+         }
  
          UnfilteredPartitionIterator resultIterator = searcher == null
 -                                         ? queryStorage(cfs, orderGroup)
 -                                         : searcher.search(orderGroup);
 +                                         ? queryStorage(cfs, 
executionController)
 +                                         : 
searcher.search(executionController);
  
          try
          {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/src/java/org/apache/cassandra/index/internal/CassandraIndex.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/src/java/org/apache/cassandra/net/MessageDeliveryTask.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/10054f30/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java
----------------------------------------------------------------------

Reply via email to