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)