diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java index 706fc5b1d87..bfd399bbc63 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java @@ -610,6 +610,10 @@ public class ScanQueryMatcher { } } + boolean isUserScan() { + return this.isUserScan; + } + //Used only for testing purposes static MatchCode checkColumn(ColumnTracker columnTracker, byte[] bytes, int offset, int length, long ttl, byte type, boolean ignoreCount) throws IOException { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java index 8dd3d7d0ef3..ecae787310e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java @@ -351,7 +351,7 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner if (!isParallelSeek) { long totalScannersSoughtBytes = 0; for (KeyValueScanner scanner : scanners) { - if (totalScannersSoughtBytes >= maxRowSize) { + if (matcher.isUserScan() && totalScannersSoughtBytes >= maxRowSize) { throw new RowTooBigException("Max row size allowed: " + maxRowSize + ", but row is bigger than that"); } @@ -572,7 +572,7 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner scannerContext.incrementSizeProgress(CellUtil.estimatedHeapSizeOf(cell)); scannerContext.incrementBatchProgress(1); - if (totalBytesRead > maxRowSize) { + if (matcher.isUserScan() && totalBytesRead > maxRowSize) { throw new RowTooBigException( "Max row size allowed: " + maxRowSize + ", but the row is bigger than that."); }