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 2016/07/15 22:57:00 UTC

cassandra git commit: Avoid wrapping results with ThriftResultsMerger if command is not for thrift

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 84426d183 -> 557c59607


Avoid wrapping results with ThriftResultsMerger if command is not for thrift

Patch by Alex Petrov; reviewed by Tyler Hobbs for CASSANDRA-12193.


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

Branch: refs/heads/cassandra-3.0
Commit: 557c59607fa9eb2014a7905cfc0eb3dbcd043cab
Parents: 84426d1
Author: Alex Petrov <ol...@gmail.com>
Authored: Fri Jul 15 17:49:16 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Fri Jul 15 17:49:16 2016 -0500

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/ReadResponse.java | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/557c5960/src/java/org/apache/cassandra/db/ReadResponse.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ReadResponse.java b/src/java/org/apache/cassandra/db/ReadResponse.java
index 12a200f..2304cb4 100644
--- a/src/java/org/apache/cassandra/db/ReadResponse.java
+++ b/src/java/org/apache/cassandra/db/ReadResponse.java
@@ -282,12 +282,17 @@ public abstract class ReadResponse
 
                     // Pre-3.0, we didn't have a way to express exclusivity for non-composite comparators, so all slices were
                     // inclusive on both ends. If we have exclusive slice ends, we need to filter the results here.
+                    UnfilteredRowIterator iterator;
                     if (!command.metadata().isCompound())
-                        return ThriftResultsMerger.maybeWrap(
-                                filter.filter(partition.sliceableUnfilteredIterator(command.columnFilter(), filter.isReversed())), command.nowInSec());
-
-                    return ThriftResultsMerger.maybeWrap(
-                            partition.unfilteredIterator(command.columnFilter(), Slices.ALL, filter.isReversed()), command.nowInSec());
+                        iterator = filter.filter(partition.sliceableUnfilteredIterator(command.columnFilter(), filter.isReversed()));
+                    else
+                        iterator = partition.unfilteredIterator(command.columnFilter(), Slices.ALL, filter.isReversed());
+
+                    // Wrap results with a ThriftResultMerger only if they're intended for the thrift command.
+                    if (command.isForThrift())
+                        return ThriftResultsMerger.maybeWrap(iterator, command.nowInSec());
+                    else
+                        return iterator;
                 }
             };
         }