This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 6b1c441258a237185769da69a7d0c32e0a2b3c8d Author: huanghaibin <284824...@qq.com> AuthorDate: Tue May 14 16:48:27 2024 +0800 [fix](group_commit) Wal reader should check block length to avoid reading empty block (#34792) --- be/src/olap/wal/wal_reader.cpp | 3 +++ be/src/vec/exec/format/wal/wal_reader.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/be/src/olap/wal/wal_reader.cpp b/be/src/olap/wal/wal_reader.cpp index 9e4618b2bc1..fa96f0c5a0b 100644 --- a/be/src/olap/wal/wal_reader.cpp +++ b/be/src/olap/wal/wal_reader.cpp @@ -69,6 +69,9 @@ Status WalReader::read_block(PBlock& block) { file_reader->read_at(_offset, {row_len_buf, WalWriter::LENGTH_SIZE}, &bytes_read)); _offset += WalWriter::LENGTH_SIZE; size_t block_len = decode_fixed64_le(row_len_buf); + if (block_len == 0) { + return Status::DataQualityError("fail to read wal {} ,block is empty", _file_name); + } // read block std::string block_buf; block_buf.resize(block_len); diff --git a/be/src/vec/exec/format/wal/wal_reader.cpp b/be/src/vec/exec/format/wal/wal_reader.cpp index 0d15c198b0e..5010f1912ab 100644 --- a/be/src/vec/exec/format/wal/wal_reader.cpp +++ b/be/src/vec/exec/format/wal/wal_reader.cpp @@ -68,6 +68,11 @@ Status WalReader::get_next_block(Block* block, size_t* read_rows, bool* eof) { LOG(WARNING) << "Failed to read wal on path = " << _wal_path; return st; } + int be_exec_version = pblock.has_be_exec_version() ? pblock.be_exec_version() : 0; + if (!BeExecVersionManager::check_be_exec_version(be_exec_version)) { + return Status::DataQualityError("check be exec version fail when reading wal file {}", + _wal_path); + } vectorized::Block src_block; RETURN_IF_ERROR(src_block.deserialize(pblock)); //convert to dst block --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org