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 ----------------------------------------------------------------------
