Amend HBASE-18026 ProtobufUtil seems to do extra array copying If the ByteString is not a LiteralByteString, just do toByteArray().
Signed-off-by: Andrew Purtell <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d8ef4950 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d8ef4950 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d8ef4950 Branch: refs/heads/branch-1 Commit: d8ef495063ebf794164603d0739fcb27dce106fa Parents: 2922266 Author: Vincent <[email protected]> Authored: Sun May 14 19:26:15 2017 -0700 Committer: Andrew Purtell <[email protected]> Committed: Mon May 15 18:07:53 2017 -0700 ---------------------------------------------------------------------- .../main/java/com/google/protobuf/HBaseZeroCopyByteString.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/d8ef4950/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java ---------------------------------------------------------------------- diff --git a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java b/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java index 9d75612..d0acd4c 100644 --- a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java +++ b/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java @@ -68,7 +68,7 @@ public final class HBaseZeroCopyByteString extends LiteralByteString { if (buf instanceof LiteralByteString) { return ((LiteralByteString) buf).bytes; } - throw new UnsupportedOperationException("Need a LiteralByteString, got a " - + buf.getClass().getName()); + // In case it's BoundedByteString + return buf.toByteArray(); } }
