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