Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
3.0.0-alpha-1, 2.0.0, 1.3.5
-
None
-
None
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
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]));
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.
Attachments
Attachments
Issue Links
- is related to
-
HBASE-24401 Cell size limit check on append should consider 0 or less value to disable the check
- Resolved