You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2015/01/08 21:41:12 UTC
[1/2] cassandra git commit: Avoid expensive string op when trace
logging is not enabled
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 fb9530948 -> 5674a96d4
Avoid expensive string op when trace logging is not enabled
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd3c47ca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd3c47ca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd3c47ca
Branch: refs/heads/cassandra-2.1
Commit: bd3c47ca739a9b84ba68a19387bef8233e1f90e1
Parents: 5e797eb
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Thu Jan 8 14:39:29 2015 -0600
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Thu Jan 8 14:40:09 2015 -0600
----------------------------------------------------------------------
.../apache/cassandra/db/index/composites/CompositesSearcher.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd3c47ca/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index eb618f4..b978021 100644
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@ -231,7 +231,8 @@ public class CompositesSearcher extends SecondaryIndexSearcher
if (!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
continue;
- logger.trace("Adding index hit to current row for {}", indexComparator.getString(column.name()));
+ if (logger.isTraceEnabled())
+ logger.trace("Adding index hit to current row for {}", indexComparator.getString(column.name()));
// We always query the whole CQL3 row. In the case where the original filter was a name filter this might be
// slightly wasteful, but this probably doesn't matter in practice and it simplify things.
[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into
cassandra-2.1
Posted by ty...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts:
src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5674a96d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5674a96d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5674a96d
Branch: refs/heads/cassandra-2.1
Commit: 5674a96d4c5d9022bf5f4fcecff97d21036882ca
Parents: fb95309 bd3c47c
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Thu Jan 8 14:41:01 2015 -0600
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Thu Jan 8 14:41:01 2015 -0600
----------------------------------------------------------------------
.../apache/cassandra/db/index/composites/CompositesSearcher.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5674a96d/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index 5c1abc9,b978021..8483c15
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@@ -245,22 -226,13 +245,23 @@@ public class CompositesSearcher extend
}
}
- // Check if this entry cannot be a hit due to the original column filter
- ByteBuffer start = entry.indexedEntryStart();
- if (!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
+ // Check if this entry cannot be a hit due to the original cell filter
+ Composite start = entry.indexedEntryPrefix;
+ if (!filter.columnFilter(dk.getKey()).maySelectPrefix(baseComparator, start))
continue;
+ // If we've record the previous prefix, it means we're dealing with an index on the collection value. In
+ // that case, we can have multiple index prefix for the same CQL3 row. In that case, we want to only add
+ // the CQL3 row once (because requesting the data multiple time would be inefficient but more importantly
+ // because we shouldn't count the columns multiple times with the lastCounted() call at the end of this
+ // method).
+ if (previousPrefix != null && previousPrefix.equals(start))
+ continue;
+ else
+ previousPrefix = null;
+
- logger.trace("Adding index hit to current row for {}", indexComparator.getString(cell.name()));
+ if (logger.isTraceEnabled())
- logger.trace("Adding index hit to current row for {}", indexComparator.getString(column.name()));
++ logger.trace("Adding index hit to current row for {}", indexComparator.getString(cell.name()));
// We always query the whole CQL3 row. In the case where the original filter was a name filter this might be
// slightly wasteful, but this probably doesn't matter in practice and it simplify things.