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

Xu Cang updated HBASE-22274:
----------------------------
    Attachment: HBASE-22274-branch-1.004.patch

> 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
>    Affects Versions: 3.0.0, 2.0.0, 1.3.5
>            Reporter: Xu Cang
>            Assignee: Xu Cang
>            Priority: Minor
>         Attachments: HBASE-22274-branch-1.001.patch, 
> HBASE-22274-branch-1.002.patch, HBASE-22274-branch-1.003.patch, 
> HBASE-22274-branch-1.003.patch, HBASE-22274-branch-1.004.patch, 
> HBASE-22274-master.001.patch, HBASE-22274-master.002.patch, 
> HBASE-22274-master.002.patch, HBASE-22274-master.003.patch
>
>
> 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}
>  
> Fix is to add this check in #reckonDeltas in HRegion class, where we have 
> already got the appended cell's size. 
> Will throw DoNotRetryIOException if checks is failed.



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

Reply via email to