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.