[ 
https://issues.apache.org/jira/browse/HBASE-27668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang resolved HBASE-27668.
-------------------------------
    Hadoop Flags: Reviewed
      Resolution: Fixed

Pushed to branch-2.4+.

Thanks [~vjasani] for reviewing!

> PB's parseDelimitedFrom can successfully return when there are not enough 
> bytes
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-27668
>                 URL: https://issues.apache.org/jira/browse/HBASE-27668
>             Project: HBase
>          Issue Type: Bug
>          Components: Protobufs, wal
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Critical
>             Fix For: 2.6.0, 3.0.0-alpha-4, 2.4.17, 2.5.4
>
>
> Found this when writing some UTs for parsing partial header and trailer, 
> WALHeader.parseDelimitedFrom can return successfully when there are only two 
> bytes in the stream(only the length, actually).
> So I know why in the past we have a followingKvCount == 0 check in 
> ProtobufLogReader, as we just want to prevent the partial PB message.
> This is a very critial problem, for me I think we should provide our own 
> implementation of parseDelimitedFrom for some critical usages, for example, 
> when reading WAL entries. If there are not enough data, we just throw 
> exception out instead of returning a partial PB message.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to