This is an automated email from the ASF dual-hosted git repository.
stack pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new c9b81c3 HBASE-25674 - RegionInfo.parseFrom(DataInputStream) sometimes
fails to read the protobuf magic marker (#3062)
c9b81c3 is described below
commit c9b81c3f82e15d52951e6358552d3da044ebf205
Author: Catalin Luca <[email protected]>
AuthorDate: Thu Mar 18 20:56:04 2021 +0200
HBASE-25674 - RegionInfo.parseFrom(DataInputStream) sometimes fails to read
the protobuf magic marker (#3062)
Co-authored-by: Catalin Luca <[email protected]>
Signed-off-by: stack <[email protected]>
---
.../src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 0f51fed..e105dbc 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.util.HashKey;
import org.apache.hadoop.hbase.util.JenkinsHash;
import org.apache.hadoop.hbase.util.MD5Hash;
import org.apache.hadoop.io.DataInputBuffer;
+import org.apache.hadoop.io.IOUtils;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
@@ -750,8 +751,7 @@ public interface RegionInfo extends Comparable<RegionInfo> {
}
//assumption: if Writable serialization, it should be longer than pblen.
- int read = in.read(pbuf);
- if (read != pblen) throw new IOException("read=" + read + ", wanted=" +
pblen);
+ IOUtils.readFully(in, pbuf, 0, pblen);
if (ProtobufUtil.isPBMagicPrefix(pbuf)) {
return
ProtobufUtil.toRegionInfo(HBaseProtos.RegionInfo.parseDelimitedFrom(in));
} else {