From f5a09c125cce2078832c20f35eba3ab43eb5c36b Mon Sep 17 00:00:00 2001 From: Sam Tunnicliffe Date: Tue, 10 Nov 2015 18:18:45 +0000 Subject: [PATCH] Make internal paging logic consistent between searcher impls Patch by Sam Tunnicliffe; reviewed by Carl Yeksigian for CASSANDRA-10683 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index c4dd54e141..91f4577e01 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.12 + * Make paging logic consistent between searcher impls (CASSANDRA-10683) * Fix CompressedInputStream for proper cleanup (CASSANDRA-10012) * (cqlsh) Support counters in COPY commands (CASSANDRA-9043) * Try next replica if not possible to connect to primary replica on diff --git a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java index 634bb0c0fa..4ba636d4b3 100644 --- a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java +++ b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java @@ -98,9 +98,8 @@ public class KeysSearcher extends SecondaryIndexSearcher protected Row computeNext() { - int meanColumns = Math.max(index.getIndexCfs().getMeanColumns(), 1); // We shouldn't fetch only 1 row as this provides buggy paging in case the first row doesn't satisfy all clauses - int rowsPerQuery = Math.max(Math.min(filter.maxRows(), filter.maxColumns() / meanColumns), 2); + int rowsPerQuery = Math.max(Math.min(filter.maxRows(), filter.maxColumns()), 2); while (true) { if (indexColumns == null || !indexColumns.hasNext())