This is an automated email from the ASF dual-hosted git repository.
gavinchou 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 97584b50603 [Opt](compile) Fix some compile checks (#53335)
97584b50603 is described below
commit 97584b506031d3db76083e1616ffa1806d1a5b42
Author: abmdocrt <[email protected]>
AuthorDate: Tue Jul 22 13:09:58 2025 +0800
[Opt](compile) Fix some compile checks (#53335)
---
be/src/olap/cumulative_compaction.cpp | 8 ++++---
be/src/olap/cumulative_compaction_policy.cpp | 15 ++++++------
.../cumulative_compaction_time_series_policy.cpp | 12 ++++++----
be/src/olap/rowset/segment_v2/column_reader.cpp | 16 ++++++++-----
be/src/olap/rowset/segment_v2/column_reader.h | 8 ++++---
be/src/olap/rowset/segment_v2/column_writer.cpp | 28 ++++++++++++----------
be/src/olap/tablet_schema.h | 2 +-
be/src/olap/wrapper_field.cpp | 2 +-
be/src/olap/wrapper_field.h | 2 +-
9 files changed, 53 insertions(+), 40 deletions(-)
diff --git a/be/src/olap/cumulative_compaction.cpp
b/be/src/olap/cumulative_compaction.cpp
index 91cb96ecdfe..587ec028582 100644
--- a/be/src/olap/cumulative_compaction.cpp
+++ b/be/src/olap/cumulative_compaction.cpp
@@ -41,6 +41,7 @@
#include "util/trace.h"
namespace doris {
+#include "common/compile_check_begin.h"
using namespace ErrorCode;
void
CumulativeCompaction::find_longest_consecutive_version(std::vector<RowsetSharedPtr>*
rowsets,
@@ -50,7 +51,7 @@ void
CumulativeCompaction::find_longest_consecutive_version(std::vector<RowsetSh
}
RowsetSharedPtr prev_rowset = rowsets->front();
- size_t i = 1;
+ int i = 1;
int max_start = 0;
int max_length = 1;
@@ -213,8 +214,8 @@ Status CumulativeCompaction::pick_rowsets_to_compact() {
}
int64_t max_score = config::cumulative_compaction_max_deltas;
- auto process_memory_usage =
doris::GlobalMemoryArbitrator::process_memory_usage();
- bool memory_usage_high = process_memory_usage > MemInfo::soft_mem_limit()
* 0.8;
+ int64_t process_memory_usage =
doris::GlobalMemoryArbitrator::process_memory_usage();
+ bool memory_usage_high = process_memory_usage > MemInfo::soft_mem_limit()
* 8 / 10;
if (tablet()->last_compaction_status.is<ErrorCode::MEM_LIMIT_EXCEEDED>()
|| memory_usage_high) {
max_score = std::max(config::cumulative_compaction_max_deltas /
config::cumulative_compaction_max_deltas_factor,
@@ -288,5 +289,6 @@ Status CumulativeCompaction::pick_rowsets_to_compact() {
return Status::OK();
}
+#include "common/compile_check_end.h"
} // namespace doris
diff --git a/be/src/olap/cumulative_compaction_policy.cpp
b/be/src/olap/cumulative_compaction_policy.cpp
index c812a12b656..b7666ef1e20 100644
--- a/be/src/olap/cumulative_compaction_policy.cpp
+++ b/be/src/olap/cumulative_compaction_policy.cpp
@@ -31,6 +31,7 @@
#include "util/debug_points.h"
namespace doris {
+#include "common/compile_check_begin.h"
SizeBasedCumulativeCompactionPolicy::SizeBasedCumulativeCompactionPolicy(
int64_t promotion_size, double promotion_ratio, int64_t
promotion_min_size,
@@ -122,7 +123,7 @@ void
SizeBasedCumulativeCompactionPolicy::_calc_promotion_size(Tablet* tablet,
RowsetMetaSharedPtr base_rowset_meta,
int64_t*
promotion_size) {
int64_t base_size = base_rowset_meta->total_disk_size();
- *promotion_size = int64_t(base_size * _promotion_ratio);
+ *promotion_size = int64_t(cast_set<double>(base_size) * _promotion_ratio);
// promotion_size is between _promotion_size and _promotion_min_size
if (*promotion_size >= _promotion_size) {
@@ -229,8 +230,8 @@ uint32_t
SizeBasedCumulativeCompactionPolicy::calc_cumulative_compaction_score(T
// 128, 16, 16, 16
// we will choose [16,16,16] to compact.
for (auto& rs_meta : rowset_to_compact) {
- int current_level = _level_size(rs_meta->total_disk_size());
- int remain_level = _level_size(total_size -
rs_meta->total_disk_size());
+ int64_t current_level = _level_size(rs_meta->total_disk_size());
+ int64_t remain_level = _level_size(total_size -
rs_meta->total_disk_size());
// if current level less then remain level, score contains current
rowset
// and process return; otherwise, score does not contains current
rowset.
if (current_level <= remain_level) {
@@ -259,7 +260,7 @@ int SizeBasedCumulativeCompactionPolicy::pick_input_rowsets(
}
}
}
- return input_rowsets->size();
+ return cast_set<uint32_t>(input_rowsets->size());
})
size_t promotion_size = tablet->cumulative_promotion_size();
@@ -325,8 +326,8 @@ int SizeBasedCumulativeCompactionPolicy::pick_input_rowsets(
size_t new_compaction_score = *compaction_score;
while (rs_begin != input_rowsets->end()) {
auto& rs_meta = (*rs_begin)->rowset_meta();
- int current_level = _level_size(rs_meta->total_disk_size());
- int remain_level = _level_size(total_size -
rs_meta->total_disk_size());
+ int64_t current_level = _level_size(rs_meta->total_disk_size());
+ int64_t remain_level = _level_size(total_size -
rs_meta->total_disk_size());
// if current level less then remain level, input rowsets contain
current rowset
// and process return; otherwise, input rowsets do not contain current
rowset.
if (current_level <= remain_level) {
@@ -406,5 +407,5 @@
CumulativeCompactionPolicyFactory::create_cumulative_compaction_policy(
}
return std::make_shared<SizeBasedCumulativeCompactionPolicy>();
}
-
+#include "common/compile_check_end.h"
} // namespace doris
diff --git a/be/src/olap/cumulative_compaction_time_series_policy.cpp
b/be/src/olap/cumulative_compaction_time_series_policy.cpp
index 7d7ce9e732f..8cb7f0f9eaf 100644
--- a/be/src/olap/cumulative_compaction_time_series_policy.cpp
+++ b/be/src/olap/cumulative_compaction_time_series_policy.cpp
@@ -27,6 +27,7 @@
#include "util/time.h"
namespace doris {
+#include "common/compile_check_begin.h"
static constexpr int64_t MAX_LEVEL2_COMPACTION_TIMEOUT = 24 * 60 * 60;
static constexpr int64_t MAX_LEVEL1_COMPACTION_GOAL_SIZE = 2 * 1024;
@@ -136,7 +137,7 @@ uint32_t
TimeSeriesCumulativeCompactionPolicy::calc_cumulative_compaction_score(
// Condition 4: level1 achieve compaction_goal_size
if (level1_rowsets.size() >= 2) {
if (continuous_size >= compaction_goal_size_mbytes * 10 * 1024
* 1024) {
- return level1_rowsets.size();
+ return cast_set<int32_t>(level1_rowsets.size());
}
}
if (rs_meta->creation_time() <
earliest_level1_rowset_creation_time) {
@@ -148,7 +149,7 @@ uint32_t
TimeSeriesCumulativeCompactionPolicy::calc_cumulative_compaction_score(
if (level1_rowsets.size() >= 2) {
int64_t cumu_interval = now - earliest_level1_rowset_creation_time;
if (cumu_interval > compaction_time_threshold_seconds * 10) {
- return level1_rowsets.size();
+ return cast_set<int32_t>(level1_rowsets.size());
}
}
}
@@ -387,7 +388,7 @@ int32_t
TimeSeriesCumulativeCompactionPolicy::pick_input_rowsets(
if (level1_rowsets.size() >= 2) {
if (continuous_size >= compaction_goal_size_mbytes * 10 * 1024
* 1024) {
input_rowsets->swap(level1_rowsets);
- return input_rowsets->size();
+ return cast_set<int32_t>(input_rowsets->size());
}
}
}
@@ -395,7 +396,7 @@ int32_t
TimeSeriesCumulativeCompactionPolicy::pick_input_rowsets(
DBUG_EXECUTE_IF("time_series_level2_file_count", {
if (level1_rowsets.size() >= compaction_file_count) {
input_rowsets->swap(level1_rowsets);
- return input_rowsets->size();
+ return cast_set<int32_t>(input_rowsets->size());
}
})
@@ -404,7 +405,7 @@ int32_t
TimeSeriesCumulativeCompactionPolicy::pick_input_rowsets(
int64_t cumu_interval = now -
level1_rowsets.front()->rowset_meta()->creation_time();
if (cumu_interval > compaction_time_threshold_seconds * 10) {
input_rowsets->swap(level1_rowsets);
- return input_rowsets->size();
+ return cast_set<int32_t>(input_rowsets->size());
}
}
}
@@ -475,5 +476,6 @@ int64_t
TimeSeriesCumulativeCompactionPolicy::get_compaction_level(
return first_level + 1;
}
+#include "common/compile_check_end.h"
} // namespace doris
\ No newline at end of file
diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp
b/be/src/olap/rowset/segment_v2/column_reader.cpp
index f78c94c2448..2a6cdcf60a5 100644
--- a/be/src/olap/rowset/segment_v2/column_reader.cpp
+++ b/be/src/olap/rowset/segment_v2/column_reader.cpp
@@ -81,6 +81,7 @@
#include "vec/runtime/vdatetime_value.h" //for VecDateTime
namespace doris::segment_v2 {
+#include "common/compile_check_begin.h"
inline bool read_as_string(PrimitiveType type) {
return type == PrimitiveType::TYPE_STRING || type ==
PrimitiveType::INVALID_TYPE ||
@@ -176,7 +177,7 @@ Status ColumnReader::create_struct(const
ColumnReaderOptions& opts, const Column
new ColumnReader(opts, meta, num_rows, file_reader));
struct_reader->_sub_readers.reserve(meta.children_columns_size());
// now we support struct column can add the children columns according to
the schema-change behavior
- for (size_t i = 0; i < meta.children_columns_size(); i++) {
+ for (int i = 0; i < meta.children_columns_size(); i++) {
std::unique_ptr<ColumnReader> sub_reader;
RETURN_IF_ERROR(ColumnReader::create(opts, meta.children_columns(i),
meta.children_columns(i).num_rows(), file_reader,
@@ -550,7 +551,8 @@ Status ColumnReader::_get_filtered_pages(
}
}
VLOG(1) << "total-pages: " << page_size << " not-filtered-pages: " <<
page_indexes->size()
- << " filtered-percent:" << 1.0 - (page_indexes->size() * 1.0) /
(page_size * 1.0);
+ << " filtered-percent:"
+ << 1.0 - (static_cast<double>(page_indexes->size()) / (page_size *
1.0));
return Status::OK();
}
@@ -800,7 +802,7 @@ Status ColumnReader::new_struct_iterator(ColumnIterator**
iterator,
sub_column_iterators.reserve(child_size);
ColumnIterator* sub_column_iterator;
- for (size_t i = 0; i < child_size; i++) {
+ for (uint64_t i = 0; i < child_size; i++) {
RETURN_IF_ERROR(_sub_readers[i]->new_iterator(
&sub_column_iterator, tablet_column ?
&tablet_column->get_sub_column(i) : nullptr));
sub_column_iterators.push_back(sub_column_iterator);
@@ -1228,7 +1230,7 @@ Status
FileColumnIterator::_seek_to_pos_in_page(ParsedPage* page, ordinal_t offs
} else {
// rewind null bitmap, and
page->null_decoder = RleDecoder<bool>((const
uint8_t*)page->null_bitmap.data,
- page->null_bitmap.size, 1);
+
cast_set<int>(page->null_bitmap.size), 1);
}
auto skip_nulls = page->null_decoder.Skip(skips);
@@ -1323,7 +1325,8 @@ Status FileColumnIterator::read_by_rowids(const rowid_t*
rowids, const size_t co
this_run = _page.null_decoder.GetNextRun(&is_null, this_run);
size_t offset = total_read_count + already_read;
size_t this_read_count = 0;
- rowid_t current_ordinal_in_page = _page.offset_in_page +
_page.first_ordinal;
+ rowid_t current_ordinal_in_page =
+ cast_set<uint32_t>(_page.offset_in_page +
_page.first_ordinal);
for (size_t i = 0; i < this_run; ++i) {
if (rowids[offset + i] - current_ordinal_in_page >=
this_run) {
break;
@@ -1765,7 +1768,7 @@ Status RowIdColumnIteratorV2::next_batch(size_t* n,
vectorized::MutableColumnPtr
bool* has_null) {
auto* string_column = assert_cast<vectorized::ColumnString*>(dst.get());
- for (size_t i = 0; i < *n; ++i) {
+ for (uint32_t i = 0; i < *n; ++i) {
uint32_t row_id = _current_rowid + i;
GlobalRowLoacationV2 location(_version, _backend_id, _file_id, row_id);
string_column->insert_data(reinterpret_cast<const char*>(&location),
@@ -1787,5 +1790,6 @@ Status RowIdColumnIteratorV2::read_by_rowids(const
rowid_t* rowids, const size_t
}
return Status::OK();
}
+#include "common/compile_check_end.h"
} // namespace doris::segment_v2
diff --git a/be/src/olap/rowset/segment_v2/column_reader.h
b/be/src/olap/rowset/segment_v2/column_reader.h
index 72caff50fc0..09c382a7bc8 100644
--- a/be/src/olap/rowset/segment_v2/column_reader.h
+++ b/be/src/olap/rowset/segment_v2/column_reader.h
@@ -52,6 +52,7 @@
#include "vec/json/path_in_data.h"
namespace doris {
+#include "common/compile_check_begin.h"
class BlockCompressionCodec;
class WrapperField;
@@ -551,7 +552,7 @@ public:
: _tablet_id(tid), _rowset_id(rid), _segment_id(segid) {}
Status seek_to_ordinal(ordinal_t ord_idx) override {
- _current_rowid = ord_idx;
+ _current_rowid = cast_set<uint32_t>(ord_idx);
return Status::OK();
}
@@ -562,7 +563,7 @@ public:
Status next_batch(size_t* n, vectorized::MutableColumnPtr& dst, bool*
has_null) override {
for (size_t i = 0; i < *n; ++i) {
- rowid_t row_id = _current_rowid + i;
+ rowid_t row_id = cast_set<uint32_t>(_current_rowid + i);
GlobalRowLoacation location(_tablet_id, _rowset_id, _segment_id,
row_id);
dst->insert_data(reinterpret_cast<const char*>(&location),
sizeof(GlobalRowLoacation));
}
@@ -596,7 +597,7 @@ public:
: _version(version), _backend_id(backend_id), _file_id(file_id) {}
Status seek_to_ordinal(ordinal_t ord_idx) override {
- _current_rowid = ord_idx;
+ _current_rowid = cast_set<uint32_t>(ord_idx);
return Status::OK();
}
@@ -753,4 +754,5 @@ private:
};
} // namespace segment_v2
+#include "common/compile_check_end.h"
} // namespace doris
diff --git a/be/src/olap/rowset/segment_v2/column_writer.cpp
b/be/src/olap/rowset/segment_v2/column_writer.cpp
index 6ea2a4fe54a..ae00e46443c 100644
--- a/be/src/olap/rowset/segment_v2/column_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/column_writer.cpp
@@ -49,6 +49,7 @@
#include "vec/data_types/data_type_factory.hpp"
namespace doris::segment_v2 {
+#include "common/compile_check_begin.h"
class NullBitmapBuilder {
public:
@@ -100,7 +101,7 @@ inline ScalarColumnWriter* get_null_writer(const
ColumnWriterOptions& opts,
null_options.meta->set_type(int(null_type));
null_options.meta->set_is_nullable(false);
null_options.meta->set_length(
-
get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_TINYINT>()->size());
+
cast_set<int32_t>(get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_TINYINT>()->size()));
null_options.meta->set_encoding(DEFAULT_ENCODING);
null_options.meta->set_compression(opts.meta->compression());
@@ -174,8 +175,8 @@ Status ColumnWriter::create_array_writer(const
ColumnWriterOptions& opts,
length_options.meta->set_unique_id(2);
length_options.meta->set_type(int(length_type));
length_options.meta->set_is_nullable(false);
- length_options.meta->set_length(
-
get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_UNSIGNED_BIGINT>()->size());
+ length_options.meta->set_length(cast_set<int32_t>(
+
get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_UNSIGNED_BIGINT>()->size()));
length_options.meta->set_encoding(DEFAULT_ENCODING);
length_options.meta->set_compression(opts.meta->compression());
@@ -238,8 +239,8 @@ Status ColumnWriter::create_map_writer(const
ColumnWriterOptions& opts, const Ta
length_options.meta->set_unique_id(column->get_subtype_count() + 1);
length_options.meta->set_type(int(length_type));
length_options.meta->set_is_nullable(false);
- length_options.meta->set_length(
-
get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_UNSIGNED_BIGINT>()->size());
+ length_options.meta->set_length(cast_set<int32_t>(
+
get_scalar_type_info<FieldType::OLAP_FIELD_TYPE_UNSIGNED_BIGINT>()->size()));
length_options.meta->set_encoding(DEFAULT_ENCODING);
length_options.meta->set_compression(opts.meta->compression());
@@ -503,16 +504,16 @@ Status ScalarColumnWriter::append_nulls(size_t num_rows) {
_null_bitmap_builder->add_run(true, num_rows);
_next_rowid += num_rows;
if (_opts.need_zone_map) {
- _zone_map_index_builder->add_nulls(num_rows);
+ _zone_map_index_builder->add_nulls(cast_set<uint32_t>(num_rows));
}
if (_opts.need_bitmap_index) {
- _bitmap_index_builder->add_nulls(num_rows);
+ _bitmap_index_builder->add_nulls(cast_set<uint32_t>(num_rows));
}
if (_opts.need_inverted_index) {
- RETURN_IF_ERROR(_inverted_index_builder->add_nulls(num_rows));
+
RETURN_IF_ERROR(_inverted_index_builder->add_nulls(cast_set<uint32_t>(num_rows)));
}
if (_opts.need_bloom_filter) {
- _bloom_filter_index_builder->add_nulls(num_rows);
+ _bloom_filter_index_builder->add_nulls(cast_set<uint32_t>(num_rows));
}
return Status::OK();
}
@@ -605,7 +606,7 @@ Status ScalarColumnWriter::write_data() {
PageFooterPB footer;
footer.set_type(DICTIONARY_PAGE);
- footer.set_uncompressed_size(dict_body.slice().get_size());
+
footer.set_uncompressed_size(cast_set<uint32_t>(dict_body.slice().get_size()));
footer.mutable_dict_page_footer()->set_encoding(PLAIN_ENCODING);
PagePointer dict_pp;
@@ -696,11 +697,11 @@ Status ScalarColumnWriter::finish_current_page() {
// prepare data page footer
std::unique_ptr<Page> page(new Page());
page->footer.set_type(DATA_PAGE);
- page->footer.set_uncompressed_size(Slice::compute_total_size(body));
+
page->footer.set_uncompressed_size(cast_set<uint32_t>(Slice::compute_total_size(body)));
auto* data_page_footer = page->footer.mutable_data_page_footer();
data_page_footer->set_first_ordinal(_first_rowid);
data_page_footer->set_num_values(_next_rowid - _first_rowid);
- data_page_footer->set_nullmap_size(nullmap.slice().size);
+
data_page_footer->set_nullmap_size(cast_set<uint32_t>(nullmap.slice().size));
if (_new_page_callback != nullptr) {
_new_page_callback->put_extra_info_in_page(data_page_footer);
}
@@ -1132,7 +1133,7 @@ Status MapColumnWriter::append_nulls(size_t num_rows) {
RETURN_IF_ERROR(sub_writer->append_nulls(num_rows));
}
const ordinal_t offset = _kv_writers[0]->get_next_rowid();
- std::vector<vectorized::UInt8> offsets_data(num_rows, offset);
+ std::vector<vectorized::UInt8> offsets_data(num_rows,
cast_set<uint8_t>(offset));
const uint8_t* offsets_ptr = offsets_data.data();
RETURN_IF_ERROR(_offsets_writer->append_data(&offsets_ptr, num_rows));
@@ -1154,5 +1155,6 @@ Status MapColumnWriter::write_inverted_index() {
}
return Status::OK();
}
+#include "common/compile_check_end.h"
} // namespace doris::segment_v2
diff --git a/be/src/olap/tablet_schema.h b/be/src/olap/tablet_schema.h
index 52202080125..0b56cd54b33 100644
--- a/be/src/olap/tablet_schema.h
+++ b/be/src/olap/tablet_schema.h
@@ -151,7 +151,7 @@ public:
void add_sub_column(TabletColumn& sub_column);
uint32_t get_subtype_count() const { return _sub_column_count; }
- const TabletColumn& get_sub_column(uint32_t i) const { return
*_sub_columns[i]; }
+ const TabletColumn& get_sub_column(uint64_t i) const { return
*_sub_columns[i]; }
const std::vector<TabletColumnPtr>& get_sub_columns() const { return
_sub_columns; }
friend bool operator==(const TabletColumn& a, const TabletColumn& b);
diff --git a/be/src/olap/wrapper_field.cpp b/be/src/olap/wrapper_field.cpp
index 7a2514ccc27..e2a2f1529bc 100644
--- a/be/src/olap/wrapper_field.cpp
+++ b/be/src/olap/wrapper_field.cpp
@@ -73,7 +73,7 @@ Result<WrapperField*> WrapperField::create(const
TabletColumn& column, uint32_t
return new WrapperField(rep, variable_len, is_string_type);
}
-WrapperField* WrapperField::create_by_type(const FieldType& type, int32_t
var_length) {
+WrapperField* WrapperField::create_by_type(const FieldType& type, int64_t
var_length) {
Field* rep = FieldFactory::create_by_type(type);
if (rep == nullptr) {
return nullptr;
diff --git a/be/src/olap/wrapper_field.h b/be/src/olap/wrapper_field.h
index 53ce8e1d3e8..ef500916eec 100644
--- a/be/src/olap/wrapper_field.h
+++ b/be/src/olap/wrapper_field.h
@@ -36,7 +36,7 @@ class WrapperField {
public:
static Result<WrapperField*> create(const TabletColumn& column, uint32_t
len = 0);
static WrapperField* create_by_type(const FieldType& type) { return
create_by_type(type, 0); }
- static WrapperField* create_by_type(const FieldType& type, int32_t
var_length);
+ static WrapperField* create_by_type(const FieldType& type, int64_t
var_length);
WrapperField(Field* rep, size_t variable_len, bool is_string_type);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]