This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 43d783ae21 [fix](vertical compaction) compaction block reader should
return error when reading next block failed (#22431)
43d783ae21 is described below
commit 43d783ae2182ff4dc87952d1dfeb0502bca3ea6d
Author: huanghaibin <[email protected]>
AuthorDate: Tue Aug 1 14:09:18 2023 +0800
[fix](vertical compaction) compaction block reader should return error when
reading next block failed (#22431)
---
be/src/vec/olap/block_reader.cpp | 2 +-
be/src/vec/olap/olap_data_convertor.cpp | 4 ++--
be/src/vec/olap/vertical_block_reader.cpp | 3 ++-
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/be/src/vec/olap/block_reader.cpp b/be/src/vec/olap/block_reader.cpp
index b37459974c..36fe335632 100644
--- a/be/src/vec/olap/block_reader.cpp
+++ b/be/src/vec/olap/block_reader.cpp
@@ -384,7 +384,7 @@ Status BlockReader::_unique_key_next_block(Block* block,
bool* eof) {
std::make_shared<DataTypeUInt8>(),
"__DORIS_COMPACTION_FILTER__"};
block->insert(column_with_type_and_name);
- Block::filter_block(block, target_columns.size(),
target_columns.size());
+ RETURN_IF_ERROR(Block::filter_block(block, target_columns.size(),
target_columns.size()));
_stats.rows_del_filtered += target_block_row - block->rows();
DCHECK(block->try_get_by_name("__DORIS_COMPACTION_FILTER__") ==
nullptr);
}
diff --git a/be/src/vec/olap/olap_data_convertor.cpp
b/be/src/vec/olap/olap_data_convertor.cpp
index a62a07a15e..a4965e8421 100644
--- a/be/src/vec/olap/olap_data_convertor.cpp
+++ b/be/src/vec/olap/olap_data_convertor.cpp
@@ -185,7 +185,7 @@
OlapBlockDataConvertor::create_olap_column_data_convertor(const TabletColumn& co
void OlapBlockDataConvertor::set_source_content(const vectorized::Block*
block, size_t row_pos,
size_t num_rows) {
- assert(block && num_rows > 0 && row_pos + num_rows <= block->rows() &&
+ DCHECK(block && num_rows > 0 && row_pos + num_rows <= block->rows() &&
block->columns() == _convertors.size());
size_t cid = 0;
for (const auto& typed_column : *block) {
@@ -197,7 +197,7 @@ void OlapBlockDataConvertor::set_source_content(const
vectorized::Block* block,
void OlapBlockDataConvertor::set_source_content_with_specifid_columns(
const vectorized::Block* block, size_t row_pos, size_t num_rows,
std::vector<uint32_t> cids) {
- assert(block && num_rows > 0 && row_pos + num_rows <= block->rows() &&
+ DCHECK(block && num_rows > 0 && row_pos + num_rows <= block->rows() &&
block->columns() <= _convertors.size());
for (auto i : cids) {
_convertors[i]->set_source_column(block->get_by_position(i), row_pos,
num_rows);
diff --git a/be/src/vec/olap/vertical_block_reader.cpp
b/be/src/vec/olap/vertical_block_reader.cpp
index 5aac3034a2..17355135fe 100644
--- a/be/src/vec/olap/vertical_block_reader.cpp
+++ b/be/src/vec/olap/vertical_block_reader.cpp
@@ -476,7 +476,8 @@ Status VerticalBlockReader::_unique_key_next_block(Block*
block, bool* eof) {
std::make_shared<DataTypeUInt8>(),
"__DORIS_COMPACTION_FILTER__"};
block->insert(column_with_type_and_name);
- Block::filter_block(block, target_columns.size(),
target_columns.size());
+ RETURN_IF_ERROR(
+ Block::filter_block(block, target_columns.size(),
target_columns.size()));
_stats.rows_del_filtered += block_rows - block->rows();
DCHECK(block->try_get_by_name("__DORIS_COMPACTION_FILTER__") ==
nullptr);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]