This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 4b7608c2bf926e0367d9afc529b7fa8fa17cafa9 Author: qiye <[email protected]> AuthorDate: Wed May 22 22:00:36 2024 +0800 [fix](inverted index)Change index_id from int32 to int64 to avoid overflow (#35206) Co-authored-by: Luennng <[email protected]> --- be/src/index-tools/index_tool.cpp | 4 ++-- be/src/olap/rowset/rowset_writer_context.h | 1 + be/src/olap/rowset/segment_v2/inverted_index_desc.cpp | 4 ++-- be/src/olap/rowset/segment_v2/inverted_index_desc.h | 4 ++-- be/src/olap/rowset/segment_v2/inverted_index_reader.h | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/be/src/index-tools/index_tool.cpp b/be/src/index-tools/index_tool.cpp index 62593c11785..32ed178e36c 100644 --- a/be/src/index-tools/index_tool.cpp +++ b/be/src/index-tools/index_tool.cpp @@ -76,7 +76,7 @@ DEFINE_string(pred_type, "", "inverted index term query predicate, eq/lt/gt/le/g DEFINE_bool(print_row_id, false, "print row id when query terms"); DEFINE_bool(print_doc_id, false, "print doc id when check terms stats"); // only for debug index compaction -DEFINE_int32(idx_id, -1, "inverted index id"); +DEFINE_int64(idx_id, -1, "inverted index id"); DEFINE_string(src_idx_dirs_file, "", "source segment index files"); DEFINE_string(dest_idx_dirs_file, "", "destination segment index files"); DEFINE_string(dest_seg_num_rows_file, "", "destination segment number of rows"); @@ -406,7 +406,7 @@ int main(int argc, char** argv) { return true; }; - int32_t index_id = FLAGS_idx_id; + int64_t index_id = FLAGS_idx_id; std::string tablet_path = FLAGS_tablet_path; std::string src_index_dirs_string; std::string dest_index_dirs_string; diff --git a/be/src/olap/rowset/rowset_writer_context.h b/be/src/olap/rowset/rowset_writer_context.h index 89147aca047..54be9f95970 100644 --- a/be/src/olap/rowset/rowset_writer_context.h +++ b/be/src/olap/rowset/rowset_writer_context.h @@ -89,6 +89,7 @@ struct RowsetWriterContext { int64_t newest_write_timestamp = -1; bool enable_unique_key_merge_on_write = false; + // store column_unique_id to skip write inverted index std::set<int32_t> skip_inverted_index; DataWriteType write_type = DataWriteType::TYPE_DEFAULT; BaseTabletSPtr tablet = nullptr; diff --git a/be/src/olap/rowset/segment_v2/inverted_index_desc.cpp b/be/src/olap/rowset/segment_v2/inverted_index_desc.cpp index 1544d18ed7b..1761f8f39d0 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_desc.cpp +++ b/be/src/olap/rowset/segment_v2/inverted_index_desc.cpp @@ -28,14 +28,14 @@ const std::string InvertedIndexDescriptor::index_suffix = ".idx"; const std::string InvertedIndexDescriptor::index_name_separator = "_"; std::string InvertedIndexDescriptor::get_temporary_index_path( - const std::string& segment_path, uint32_t uuid, const std::string& index_suffix_path) { + const std::string& segment_path, uint64_t uuid, const std::string& index_suffix_path) { std::string suffix = index_suffix_path.empty() ? "" : "@" + index_suffix_path; return StripSuffixString(segment_path, segment_suffix) + index_name_separator + std::to_string(uuid) + suffix; } std::string InvertedIndexDescriptor::get_index_file_name(const std::string& segment_path, - uint32_t uuid, + uint64_t uuid, const std::string& index_suffix_path) { std::string suffix = index_suffix_path.empty() ? "" : "@" + index_suffix_path; return StripSuffixString(segment_path, segment_suffix) + index_name_separator + diff --git a/be/src/olap/rowset/segment_v2/inverted_index_desc.h b/be/src/olap/rowset/segment_v2/inverted_index_desc.h index 5d86e7ddd36..0f9d591be6c 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_desc.h +++ b/be/src/olap/rowset/segment_v2/inverted_index_desc.h @@ -31,9 +31,9 @@ public: static const std::string segment_suffix; static const std::string index_suffix; static const std::string index_name_separator; - static std::string get_temporary_index_path(const std::string& segment_path, uint32_t uuid, + static std::string get_temporary_index_path(const std::string& segment_path, uint64_t uuid, const std::string& index_suffix_path); - static std::string get_index_file_name(const std::string& path, uint32_t uuid, + static std::string get_index_file_name(const std::string& path, uint64_t uuid, const std::string& index_suffix_path); static std::string get_index_file_name(const std::string& path); static const std::string get_temporary_null_bitmap_file_name() { return "null_bitmap"; } diff --git a/be/src/olap/rowset/segment_v2/inverted_index_reader.h b/be/src/olap/rowset/segment_v2/inverted_index_reader.h index bf56d31a2da..f5cb43c43f7 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_reader.h +++ b/be/src/olap/rowset/segment_v2/inverted_index_reader.h @@ -98,7 +98,7 @@ public: virtual InvertedIndexReaderType type() = 0; - [[nodiscard]] uint32_t get_index_id() const { return _index_meta.index_id(); } + [[nodiscard]] uint64_t get_index_id() const { return _index_meta.index_id(); } [[nodiscard]] const std::map<string, string>& get_index_properties() const { return _index_meta.properties(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
