This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
commit a46c845cbb72b8a4879b5ee5ee87e83e30d7f6d5 Author: airborne12 <airborn...@gmail.com> AuthorDate: Tue Apr 18 20:58:23 2023 +0800 [Fix](vertical compaction) Preserve _segment_num_rows during final segment flush (#18779) --- be/src/olap/rowset/vertical_beta_rowset_writer.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp index 2b0df8a98d..24df761c52 100644 --- a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp +++ b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp @@ -66,9 +66,6 @@ Status VerticalBetaRowsetWriter::add_columns(const vectorized::Block* block, // segment is full, need flush columns and create new segment writer RETURN_IF_ERROR(_flush_columns(&_segment_writers[_cur_writer_idx], true)); - _segment_num_rows.resize(_cur_writer_idx + 1); - _segment_num_rows[_cur_writer_idx] = _segment_writers[_cur_writer_idx]->row_count(); - std::unique_ptr<segment_v2::SegmentWriter> writer; RETURN_IF_ERROR(_create_segment_writer(col_ids, is_key, &writer)); _segment_writers.emplace_back(std::move(writer)); @@ -114,6 +111,8 @@ Status VerticalBetaRowsetWriter::_flush_columns( key_bounds.set_min_key(min_key.to_string()); key_bounds.set_max_key(max_key.to_string()); _segments_encoded_key_bounds.emplace_back(key_bounds); + _segment_num_rows.resize(_cur_writer_idx + 1); + _segment_num_rows[_cur_writer_idx] = _segment_writers[_cur_writer_idx]->row_count(); } _total_index_size += static_cast<int64_t>(index_size); return Status::OK(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org