[ 
https://issues.apache.org/jira/browse/HBASE-22274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xu Cang updated HBASE-22274:
----------------------------
    Description: 
Now we have cell size limit check based on this parameter 
*hbase.server.keyvalue.maxsize* 

One case was missing: appending to a cell only take append op's cell size into 
account against this limit check. we should check against the potential final 
cell size after the append.'

It's easy to reproduce this :

 

Apply this diff

 
{code:java}
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 index 5a285ef6ba..8633177ebe 100644 --- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 +++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 @@ -6455,7 +6455,7 


- t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * 1024])); 
+ t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); 
{code}
 

  was:
Now we have cell size limit check based on this parameter 
*hbase.server.keyvalue.maxsize* 

One case was missing: appending to a cell only take append op's cell size into 
account against this limit check. we should check against the potential final 
cell size after the append.'

It's easy to reproduce this :

 

Apply this diff

 
{code:java}
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 index 5a285ef6ba..8633177ebe 100644 --- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 +++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 @@ -6455,7 +6455,7 @@ public class TestFromClientSide { // expected } try { - 
t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * 1024])); 


+ t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); 
fail("Oversize cell failed to trigger exception"); } catch (IOException e) { // 
expected{code}
 


> Cell size limit check on append should consider cell's previous size.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-22274
>                 URL: https://issues.apache.org/jira/browse/HBASE-22274
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Xu Cang
>            Assignee: Xu Cang
>            Priority: Minor
>
> Now we have cell size limit check based on this parameter 
> *hbase.server.keyvalue.maxsize* 
> One case was missing: appending to a cell only take append op's cell size 
> into account against this limit check. we should check against the potential 
> final cell size after the append.'
> It's easy to reproduce this :
>  
> Apply this diff
>  
> {code:java}
> diff --git 
> a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
>  
> b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
>  index 5a285ef6ba..8633177ebe 100644 --- 
> a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
>  +++ 
> b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
>  @@ -6455,7 +6455,7 
> - t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * 
> 1024])); 
> + t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); 
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to