github-actions[bot] commented on code in PR #30245: URL: https://github.com/apache/doris/pull/30245#discussion_r1463254418
########## be/src/olap/base_tablet.cpp: ########## @@ -250,4 +250,25 @@ bool BaseTablet::_reconstruct_version_tracker_if_necessary() { return false; } +// should use this method to get a copy of current tablet meta +// there are some rowset meta in local meta store and in in-memory tablet meta +// but not in tablet meta in local meta store +void BaseTablet::generate_tablet_meta_copy(TabletMeta& new_tablet_meta) const { + TabletMetaPB tablet_meta_pb; + { + std::shared_lock rdlock(_meta_lock); + _tablet_meta->to_meta_pb(&tablet_meta_pb); + } + generate_tablet_meta_copy_unlocked(new_tablet_meta); +} + +// this is a unlocked version of generate_tablet_meta_copy() +// some method already hold the _meta_lock before calling this, +// such as EngineCloneTask::_finish_clone -> tablet->revise_tablet_meta +void BaseTablet::generate_tablet_meta_copy_unlocked(TabletMeta& new_tablet_meta) const { Review Comment: warning: method 'generate_tablet_meta_copy_unlocked' can be made static [readability-convert-member-functions-to-static] be/src/olap/base_tablet.h:105: ```diff - void generate_tablet_meta_copy_unlocked(TabletMeta& new_tablet_meta) const; + static void generate_tablet_meta_copy_unlocked(TabletMeta& new_tablet_meta) ; ``` ```suggestion void BaseTablet::generate_tablet_meta_copy_unlocked(TabletMeta& new_tablet_meta) { ``` ########## be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp: ########## @@ -285,7 +286,7 @@ void VerticalSegmentWriter::_serialize_block_to_row_column(vectorized::Block& bl // 2.3 fill block // 3. set columns to data convertor and then write all columns Status VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& data) { Review Comment: warning: function '_append_block_with_partial_content' has cognitive complexity of 53 (threshold 50) [readability-function-cognitive-complexity] ```cpp Status VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& data) { ^ ``` <details> <summary>Additional context</summary> **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:288:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (config::is_cloud_mode()) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:335:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (const vectorized::ColumnWithTypeAndName* delete_sign_column = ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:340:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (delete_sign_col.size() >= data.row_pos + data.num_rows) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:349:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_opts.rowset_ctx->partial_update_info->is_strict_mode && ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:368:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp for (size_t block_pos = data.row_pos; block_pos < data.row_pos + data.num_rows; block_pos++) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:379:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:385:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (!_tablet_schema->has_sequence_col() || have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:386:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:386:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:391:** +1 ```cpp (delete_sign_column_data != nullptr && delete_sign_column_data[block_pos] != 0); ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:398:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (st.is<KEY_NOT_FOUND>()) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:399:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp if (_opts.rowset_ctx->partial_update_info->is_strict_mode) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:405:** +1, nesting level increased to 3 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:406:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:426:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (!st.ok() && !st.is<KEY_ALREADY_EXISTS>()) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:434:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (have_delete_sign) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:437:** +1, nesting level increased to 2 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:444:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (st.is<KEY_ALREADY_EXISTS>()) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:450:** +1, nesting level increased to 2 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:457:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (config::enable_merge_on_write_correctness_check) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:464:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(_fill_missing_columns(mutable_full_columns, use_default_or_null_flag, ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:464:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(_fill_missing_columns(mutable_full_columns, use_default_or_null_flag, ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:467:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_tablet_schema->store_row_column()) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:491:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_tablet_schema->has_sequence_col() && !have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:498:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (_num_rows_written != data.row_pos || ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:505:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp for (size_t block_pos = data.row_pos; block_pos < data.row_pos + data.num_rows; ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:509:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:509:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` </details> ########## be/src/olap/rowset/segment_v2/segment_writer.cpp: ########## @@ -339,7 +340,7 @@ void SegmentWriter::_serialize_block_to_row_column(vectorized::Block& block) { // 3. set columns to data convertor and then write all columns Status SegmentWriter::append_block_with_partial_content(const vectorized::Block* block, Review Comment: warning: function 'append_block_with_partial_content' has cognitive complexity of 54 (threshold 50) [readability-function-cognitive-complexity] ```cpp Status SegmentWriter::append_block_with_partial_content(const vectorized::Block* block, ^ ``` <details> <summary>Additional context</summary> **be/src/olap/rowset/segment_v2/segment_writer.cpp:342:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (config::is_cloud_mode()) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:348:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (block->columns() <= _tablet_schema->num_key_columns() || ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:401:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (const vectorized::ColumnWithTypeAndName* delete_sign_column = ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:406:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (delete_sign_col.size() >= row_pos + num_rows) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:415:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_opts.rowset_ctx->partial_update_info->is_strict_mode && ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:434:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp for (size_t block_pos = row_pos; block_pos < row_pos + num_rows; block_pos++) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:445:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:451:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (!_tablet_schema->has_sequence_col() || have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:452:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:452:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:457:** +1 ```cpp (delete_sign_column_data != nullptr && delete_sign_column_data[block_pos] != 0); ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:464:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (st.is<KEY_NOT_FOUND>()) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:465:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp if (_opts.rowset_ctx->partial_update_info->is_strict_mode) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:472:** +1, nesting level increased to 3 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:473:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:493:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (!st.ok() && !st.is<KEY_ALREADY_EXISTS>()) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:501:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (have_delete_sign) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:504:** +1, nesting level increased to 2 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:511:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (st.is<KEY_ALREADY_EXISTS>()) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:517:** +1, nesting level increased to 2 ```cpp } else { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:524:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (config::enable_merge_on_write_correctness_check) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:531:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(fill_missing_columns(mutable_full_columns, use_default_or_null_flag, ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:531:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(fill_missing_columns(mutable_full_columns, use_default_or_null_flag, ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:535:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_tablet_schema->store_row_column()) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:559:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (_tablet_schema->has_sequence_col() && !have_input_seq_column) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:566:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (_num_rows_written != row_pos || ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:573:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp for (size_t block_pos = row_pos; block_pos < row_pos + num_rows; block_pos++) { ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:576:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:531:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/olap/rowset/segment_v2/segment_writer.cpp:576:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); ^ ``` **be/src/common/status.h:533:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org