You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2014/01/15 19:31:18 UTC

git commit: encapsulate SecondaryIndex.estimateResultRows patch by Miguel Angel Fernandez Diaz; reviewed by Sam Tunnicliffe for CASSANDRA-6498

Updated Branches:
  refs/heads/trunk 2966852a0 -> 63c490af9


encapsulate SecondaryIndex.estimateResultRows
patch by Miguel Angel Fernandez Diaz; reviewed by Sam Tunnicliffe for CASSANDRA-6498


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

Branch: refs/heads/trunk
Commit: 63c490af9cbe392ba025f15854173eb4f7fbbfad
Parents: 2966852
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Jan 15 12:08:47 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Jan 15 12:31:08 2014 -0600

----------------------------------------------------------------------
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java         | 5 +++++
 src/java/org/apache/cassandra/db/index/SecondaryIndex.java      | 2 ++
 src/java/org/apache/cassandra/service/StorageProxy.java         | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63c490af/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
index b062941..5aaf07c 100644
--- a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
@@ -161,4 +161,9 @@ public abstract class AbstractSimplePerColumnSecondaryIndex extends PerColumnSec
         indexCfs.metadata.reloadSecondaryIndexMetadata(baseCfs.metadata);
         indexCfs.reload();
     }
+    
+    public long estimateResultRows()
+    {
+        return getIndexCfs().getMeanColumns();
+    } 
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63c490af/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
index 84b3bfc..81359af 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
@@ -326,6 +326,8 @@ public abstract class SecondaryIndex
 
     public abstract boolean validate(Cell cell);
 
+    public abstract long estimateResultRows();
+
     /**
      * Returns the index comparator for index backed by CFS, or null.
      *

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63c490af/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index 7085a3e..a3e9dd4 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -1463,7 +1463,7 @@ public class StorageProxy implements StorageProxyMBean
             SecondaryIndexSearcher searcher = Iterables.getOnlyElement(cfs.indexManager.getIndexSearchersForQuery(command.rowFilter));
             SecondaryIndex highestSelectivityIndex = searcher.highestSelectivityIndex(command.rowFilter);
             // use our own mean column count as our estimate for how many matching rows each node will have
-            resultRowsPerRange = highestSelectivityIndex.getIndexCfs().getMeanColumns();
+            resultRowsPerRange = highestSelectivityIndex.estimateResultRows();
         }
         else if (!command.countCQL3Rows())
         {