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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]