From 20a77427aa02e5588cf148d2ff496d6e23d47795 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Fri, 18 Nov 2016 23:26:53 +0800 Subject: [PATCH] HBASE-17126: Expose KeyValue#checkParameters() and checkForTagsLength() to be used by other Cell implementations --- .../main/java/org/apache/hadoop/hbase/KeyValue.java | 18 +++++------------- .../src/main/java/org/apache/hadoop/hbase/TagUtil.java | 8 ++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java index b00ca1b..a95f814 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java @@ -158,8 +158,6 @@ public class KeyValue implements ExtendedCell { public static final int KEYVALUE_WITH_TAGS_INFRASTRUCTURE_SIZE = ROW_OFFSET + TAGS_LENGTH_SIZE; - private static final int MAX_TAGS_LENGTH = (2 * Short.MAX_VALUE) + 1; - /** * Computes the number of bytes that a KeyValue instance with the provided * characteristics would take up for its underlying data structure. @@ -789,7 +787,7 @@ public class KeyValue implements ExtendedCell { if (qlength > Integer.MAX_VALUE - rlength - flength) { throw new IllegalArgumentException("Qualifier > " + Integer.MAX_VALUE); } - checkForTagsLength(tagsLength); + TagUtil.checkForTagsLength(tagsLength); // Key length long longkeylength = getKeyDataStructureSize(rlength, flength, qlength); if (longkeylength > Integer.MAX_VALUE) { @@ -835,7 +833,7 @@ public class KeyValue implements ExtendedCell { * * @throws IllegalArgumentException an illegal value was passed */ - private static void checkParameters(final byte [] row, final int rlength, + static void checkParameters(final byte [] row, final int rlength, final byte [] family, int flength, int qlength, int vlength) throws IllegalArgumentException { if (rlength > Short.MAX_VALUE) { @@ -907,7 +905,7 @@ public class KeyValue implements ExtendedCell { tagsLength += t.getValueLength() + Tag.INFRASTRUCTURE_SIZE; } } - checkForTagsLength(tagsLength); + TagUtil.checkForTagsLength(tagsLength); int keyLength = (int) getKeyDataStructureSize(rlength, flength, qlength); int keyValueLength = (int) getKeyValueDataStructureSize(rlength, flength, qlength, vlength, tagsLength); @@ -948,12 +946,6 @@ public class KeyValue implements ExtendedCell { return keyValueLength; } - private static void checkForTagsLength(int tagsLength) { - if (tagsLength > MAX_TAGS_LENGTH) { - throw new IllegalArgumentException("tagslength "+ tagsLength + " > " + MAX_TAGS_LENGTH); - } - } - /** * Write KeyValue format into a byte array. * @param row row key @@ -980,7 +972,7 @@ public class KeyValue implements ExtendedCell { int vlength, byte[] tags, int tagsOffset, int tagsLength) { checkParameters(row, rlength, family, flength, qlength, vlength); - checkForTagsLength(tagsLength); + TagUtil.checkForTagsLength(tagsLength); // Allocate right-sized byte array. int keyLength = (int) getKeyDataStructureSize(rlength, flength, qlength); byte[] bytes = new byte[(int) getKeyValueDataStructureSize(rlength, flength, qlength, vlength, @@ -1030,7 +1022,7 @@ public class KeyValue implements ExtendedCell { tagsLength += t.getValueLength() + Tag.INFRASTRUCTURE_SIZE; } } - checkForTagsLength(tagsLength); + TagUtil.checkForTagsLength(tagsLength); // Allocate right-sized byte array. int keyLength = (int) getKeyDataStructureSize(rlength, flength, qlength); byte[] bytes = new byte[(int) getKeyValueDataStructureSize(rlength, flength, qlength, vlength, diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java index 65f0cad..f46d0be 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java @@ -283,4 +283,12 @@ public final class TagUtil { throw new UnsupportedOperationException(); } }; + + private static final int MAX_TAGS_LENGTH = (2 * Short.MAX_VALUE) + 1; + + static void checkForTagsLength(int tagsLength) { + if (tagsLength > MAX_TAGS_LENGTH) { + throw new IllegalArgumentException("tagslength "+ tagsLength + " > " + MAX_TAGS_LENGTH); + } + } } \ No newline at end of file -- 2.9.3 (Apple Git-75)