[ 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)