[ https://issues.apache.org/jira/browse/HBASE-22274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xu Cang updated HBASE-22274: ---------------------------- Description: 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 @@ public class TestFromClientSide { // expected } try { - t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * 1024])); + t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); fail("Oversize cell failed to trigger exception"); } catch (IOException e) { // expected{code} was: 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 @@ public class TestFromClientSide { // expected } try { - t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * 1024])); + t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); fail("Oversize cell failed to trigger exception"); } catch (IOException e) { // expected{code} > 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 > Reporter: Xu Cang > Assignee: Xu Cang > Priority: Minor > > 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 @@ public class TestFromClientSide { // expected } try { > - t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[10 * > 1024])); > + t.append(new Append(ROW).addColumn(FAMILY, QUALIFIER, new byte[2 * 1024])); > fail("Oversize cell failed to trigger exception"); } catch (IOException e) { > // expected{code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)