You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Constantin-Catalin Luca (Jira)" <ji...@apache.org> on 2021/03/17 13:41:00 UTC
[jira] [Updated] (HBASE-25674)
RegionInfo.parseFrom(DataInputStream) sometimes fails to read the protobuf
magic marker
[ https://issues.apache.org/jira/browse/HBASE-25674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Constantin-Catalin Luca updated HBASE-25674:
--------------------------------------------
Summary: RegionInfo.parseFrom(DataInputStream) sometimes fails to read the protobuf magic marker (was: RegionInfo.parseFrom(DataInputStream) does not read correctly the protobuf magic marker)
> RegionInfo.parseFrom(DataInputStream) sometimes fails to read the protobuf magic marker
> ---------------------------------------------------------------------------------------
>
> Key: HBASE-25674
> URL: https://issues.apache.org/jira/browse/HBASE-25674
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.4.1
> Reporter: Constantin-Catalin Luca
> Assignee: Constantin-Catalin Luca
> Priority: Minor
> Attachments: HBASE_25674-2.4.1.patch
>
>
> The RegionInfo class uses
> {code:java}
> DataInputStream.read(byte[lengthOfPBMagic])
> {code}
> to read the protobuf magic marker from the beginning of the stream.
> The code in RegionInfo assumes that the passed byte buffer will be filled, but the DataInputStream class only guarantees that it will read at most lengthOfPBMagic bytes.
> This sometimes causes errors stating that region info file could not be parsed.
> The fix is to simply issue multiple read calls until lengthOfPBMagic bytes have been read.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)