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 <apurt...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/719ab32c
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/719ab32c
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/719ab32c

Branch: refs/heads/branch-1.2
Commit: 719ab32cc6910cf393ce235315190ffd8dd7a3c8
Parents: 14ab4a9
Author: Vincent <vincent.p...@salesforce.com>
Authored: Sun May 14 19:26:15 2017 -0700
Committer: Andrew Purtell <apurt...@apache.org>
Committed: Mon May 15 18:09:46 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/719ab32c/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();
   }
 }

Reply via email to