Repository: hbase
Updated Branches:
  refs/heads/branch-1 d5bc56c26 -> 87f1af842


HBASE-15496 Throw RowTooBigException only for user scan/get (Guanghao Zhang)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/87f1af84
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/87f1af84
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/87f1af84

Branch: refs/heads/branch-1
Commit: 87f1af842ab1a5e8242b446e45f5b7e14604a349
Parents: d5bc56c
Author: tedyu <[email protected]>
Authored: Fri Mar 25 19:05:15 2016 -0700
Committer: tedyu <[email protected]>
Committed: Fri Mar 25 19:05:15 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java   | 4 ++++
 .../java/org/apache/hadoop/hbase/regionserver/StoreScanner.java  | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/87f1af84/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
----------------------------------------------------------------------
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 c832255..2ee9ee1 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
@@ -622,6 +622,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 
{

http://git-wip-us.apache.org/repos/asf/hbase/blob/87f1af84/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
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 ddf0721..bfa8335 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
@@ -347,7 +347,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");
           }
@@ -557,7 +557,7 @@ public class StoreScanner extends 
NonReversedNonLazyKeyValueScanner
             
scannerContext.incrementSizeProgress(CellUtil.estimatedHeapSizeOfWithoutTags(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.");
             }

Reply via email to