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 00:09:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16835975#comment-16835975 ] 

Xu Cang commented on HBASE-22274:
---------------------------------

quick update on this ( I didn't discard this one :))

There are 88 'createTable' calls in TestFromClientSide.java none of them calls 'waitTableAvailable'. It's incorrect to do 'Put' before table is available in my opinion. That's why it's causing flaky testing result.

Patch is on the way, and I'd like to let hadoop-qa have a run to fully verify my theory.  

> 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-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)