[
https://issues.apache.org/jira/browse/HBASE-22274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16836731#comment-16836731
]
Andrew Purtell commented on HBASE-22274:
----------------------------------------
bq. 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.
Let's break this part of the patch out into a separate JIRA so we have a
clearer history for the test fix. We can ignore the TestFromClientSide result
in the context of this issue.
> 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)