From 4a9168c17c42e78b857dffe3786a00e1c111d787 Mon Sep 17 00:00:00 2001 From: zhangduo Date: Mon, 6 Feb 2017 11:35:14 +0800 Subject: [PATCH] HBASE-17599 Also set the partial flag of Result to true if we reach the batch limit --- .../org/apache/hadoop/hbase/regionserver/HRegion.java | 10 ++++------ .../hadoop/hbase/regionserver/ScannerContext.java | 17 +++-------------- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index ac26649..8a75e85 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -72,7 +72,6 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAdder; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.commons.logging.Log; @@ -5945,13 +5944,12 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi outResults.addAll(tmpList); } - // If the size limit was reached it means a partial Result is being - // returned. Returning a - // partial Result means that we should not reset the filters; filters - // should only be reset in + // If the size limit was reached it means a partial Result is being returned. Returning a + // partial Result means that we should not reset the filters; filters should only be reset in // between rows - if (!scannerContext.midRowResultFormed()) + if (!scannerContext.partialResultFormed()) { resetFilters(); + } if (isFilterDoneInternal()) { moreValues = false; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScannerContext.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScannerContext.java index de4647d..e2243dd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScannerContext.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScannerContext.java @@ -19,8 +19,6 @@ package org.apache.hadoop.hbase.regionserver; import java.util.List; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.classification.InterfaceStability; @@ -51,7 +49,6 @@ import org.apache.hadoop.hbase.client.metrics.ServerSideScanMetrics; @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC) @InterfaceStability.Evolving public class ScannerContext { - private static final Log LOG = LogFactory.getLog(ScannerContext.class); /** * Two sets of the same fields. One for the limits, another for the progress towards those limits @@ -225,17 +222,9 @@ public class ScannerContext { * reached in the middle of a row. */ boolean partialResultFormed() { - return scannerState == NextState.SIZE_LIMIT_REACHED_MID_ROW - || scannerState == NextState.TIME_LIMIT_REACHED_MID_ROW; - } - - /** - * @return true when a mid-row result is formed. - */ - boolean midRowResultFormed() { - return scannerState == NextState.SIZE_LIMIT_REACHED_MID_ROW - || scannerState == NextState.TIME_LIMIT_REACHED_MID_ROW - || scannerState == NextState.BATCH_LIMIT_REACHED; + return scannerState == NextState.SIZE_LIMIT_REACHED_MID_ROW || + scannerState == NextState.TIME_LIMIT_REACHED_MID_ROW || + scannerState == NextState.BATCH_LIMIT_REACHED; } /** -- 2.7.4