You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Xu Cang (JIRA)" <ji...@apache.org> on 2019/05/09 01:03:00 UTC

[jira] [Updated] (HBASE-22274) Cell size limit check on append should consider cell's previous size.

     [ 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.003.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-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)