You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Michael Stack (Jira)" <ji...@apache.org> on 2021/03/18 18:59:00 UTC
[jira] [Resolved] (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 ]
Michael Stack resolved HBASE-25674.
-----------------------------------
Fix Version/s: 2.4.3
2.3.5
2.5.0
3.0.0-alpha-1
Hadoop Flags: Reviewed
Resolution: Fixed
Merged to branch-2.3+ Thanks for the nice PR [~catalin.luca] (Thanks for review [~wchevreuil])
> 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
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.3.5, 2.4.3
>
> 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)