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

Reply via email to