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)