From 32ae475745fbb6dee7c26275cccd799cf11ffdff Mon Sep 17 00:00:00 2001 From: abmdocrt Date: Wed, 15 May 2024 23:00:34 +0800 Subject: [PATCH 1/2] [fix](auto inc) db_id and table_id should be int64_t instead of int32_t (#34912) --- be/src/olap/iterators.h | 2 +- be/src/olap/rowset/segment_v2/column_reader.h | 2 +- be/src/olap/rowset/segment_v2/segment_iterator.h | 4 ++-- be/src/olap/schema_cache.cpp | 4 ++-- be/src/olap/schema_cache.h | 4 ++-- be/src/olap/tablet_schema.h | 6 +++--- be/src/olap/utils.h | 4 ++-- be/src/runtime/descriptors.h | 4 ++-- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/be/src/olap/iterators.h b/be/src/olap/iterators.h index 68ebc98570cc45..7be18697da8503 100644 --- a/be/src/olap/iterators.h +++ b/be/src/olap/iterators.h @@ -109,7 +109,7 @@ class StorageReadOptions { RuntimeState* runtime_state = nullptr; RowsetId rowset_id; Version version; - int32_t tablet_id = 0; + int64_t tablet_id = 0; size_t topn_limit = 0; }; diff --git a/be/src/olap/rowset/segment_v2/column_reader.h b/be/src/olap/rowset/segment_v2/column_reader.h index 492463a8ff02b8..5a904910497299 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.h +++ b/be/src/olap/rowset/segment_v2/column_reader.h @@ -592,7 +592,7 @@ class RowIdColumnIterator : public ColumnIterator { private: rowid_t _current_rowid = 0; - int32_t _tablet_id = 0; + int64_t _tablet_id = 0; RowsetId _rowset_id; int32_t _segment_id = 0; }; diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.h b/be/src/olap/rowset/segment_v2/segment_iterator.h index 34aea50131778f..adaa06b6ba23f0 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.h +++ b/be/src/olap/rowset/segment_v2/segment_iterator.h @@ -120,7 +120,7 @@ class SegmentIterator : public RowwiseIterator { bool is_lazy_materialization_read() const override { return _lazy_materialization_read; } uint64_t data_id() const override { return _segment->id(); } RowsetId rowset_id() const { return _segment->rowset_id(); } - int32_t tablet_id() const { return _tablet_id; } + int64_t tablet_id() const { return _tablet_id; } bool update_profile(RuntimeProfile* profile) override { bool updated = false; @@ -430,7 +430,7 @@ class SegmentIterator : public RowwiseIterator { // used to collect filter information. std::vector _filter_info_id; bool _record_rowids = false; - int32_t _tablet_id = 0; + int64_t _tablet_id = 0; std::set _output_columns; }; diff --git a/be/src/olap/schema_cache.cpp b/be/src/olap/schema_cache.cpp index 39d1a60a4c2ca1..64e51ed5abb462 100644 --- a/be/src/olap/schema_cache.cpp +++ b/be/src/olap/schema_cache.cpp @@ -38,7 +38,7 @@ namespace doris { SchemaCache* SchemaCache::_s_instance = nullptr; // format: tabletId-unique_id1-uniqueid2...-version-type -std::string SchemaCache::get_schema_key(int32_t tablet_id, const TabletSchemaSPtr& schema, +std::string SchemaCache::get_schema_key(int64_t tablet_id, const TabletSchemaSPtr& schema, const std::vector& column_ids, int32_t version, Type type) { if (column_ids.empty() || schema->column(column_ids[0]).unique_id() < 0) { @@ -55,7 +55,7 @@ std::string SchemaCache::get_schema_key(int32_t tablet_id, const TabletSchemaSPt } // format: tabletId-unique_id1-uniqueid2...-version-type -std::string SchemaCache::get_schema_key(int32_t tablet_id, const std::vector& columns, +std::string SchemaCache::get_schema_key(int64_t tablet_id, const std::vector& columns, int32_t version, Type type) { if (columns.empty() || columns[0].col_unique_id < 0) { return ""; diff --git a/be/src/olap/schema_cache.h b/be/src/olap/schema_cache.h index f34f7c296d8168..809a31632dec9f 100644 --- a/be/src/olap/schema_cache.h +++ b/be/src/olap/schema_cache.h @@ -53,10 +53,10 @@ class SchemaCache : public LRUCachePolicy { static void create_global_instance(size_t capacity); // get cache schema key, delimiter with SCHEMA_DELIMITER - static std::string get_schema_key(int32_t tablet_id, const TabletSchemaSPtr& schema, + static std::string get_schema_key(int64_t tablet_id, const TabletSchemaSPtr& schema, const std::vector& column_ids, int32_t version, Type type); - static std::string get_schema_key(int32_t tablet_id, const std::vector& columns, + static std::string get_schema_key(int64_t tablet_id, const std::vector& columns, int32_t version, Type type); // Get a shared cached schema from cache, schema_key is a subset of column unique ids diff --git a/be/src/olap/tablet_schema.h b/be/src/olap/tablet_schema.h index 11f87f2938749a..8947beb6326204 100644 --- a/be/src/olap/tablet_schema.h +++ b/be/src/olap/tablet_schema.h @@ -281,8 +281,8 @@ class TabletSchema { vectorized::Block create_block(bool ignore_dropped_col = true) const; void set_schema_version(int32_t version) { _schema_version = version; } - void set_table_id(int32_t table_id) { _table_id = table_id; } - int32_t table_id() const { return _table_id; } + void set_table_id(int64_t table_id) { _table_id = table_id; } + int64_t table_id() const { return _table_id; } void build_current_tablet_schema(int64_t index_id, int32_t version, const OlapTableIndexSchema* index, const TabletSchema& out_tablet_schema); @@ -364,7 +364,7 @@ class TabletSchema { int32_t _sequence_col_idx = -1; int32_t _version_col_idx = -1; int32_t _schema_version = -1; - int32_t _table_id = -1; + int64_t _table_id = -1; bool _disable_auto_compaction = false; bool _enable_single_replica_compaction = false; int64_t _mem_size = 0; diff --git a/be/src/olap/utils.h b/be/src/olap/utils.h index 75df35e32ac860..619b883c580361 100644 --- a/be/src/olap/utils.h +++ b/be/src/olap/utils.h @@ -297,9 +297,9 @@ struct RowLocation { }; struct GlobalRowLoacation { - GlobalRowLoacation(uint32_t tid, RowsetId rsid, uint32_t sid, uint32_t rid) + GlobalRowLoacation(int64_t tid, RowsetId rsid, uint32_t sid, uint32_t rid) : tablet_id(tid), row_location(rsid, sid, rid) {} - uint32_t tablet_id; + int64_t tablet_id; RowLocation row_location; bool operator==(const GlobalRowLoacation& rhs) const { diff --git a/be/src/runtime/descriptors.h b/be/src/runtime/descriptors.h index 36196461b302dd..c4adbb8d4b388f 100644 --- a/be/src/runtime/descriptors.h +++ b/be/src/runtime/descriptors.h @@ -172,13 +172,13 @@ class TableDescriptor { ::doris::TTableType::type table_type() const { return _table_type; } const std::string& name() const { return _name; } const std::string& database() const { return _database; } - int32_t table_id() const { return _table_id; } + int64_t table_id() const { return _table_id; } private: ::doris::TTableType::type _table_type; std::string _name; std::string _database; - int32_t _table_id; + int64_t _table_id; int _num_cols; int _num_clustering_cols; }; From 4000fff71a80d877fb42c8040b2f33360d1752ca Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Thu, 16 May 2024 19:56:11 +0800 Subject: [PATCH 2/2] [Fix](tablet id) use int64_t instead of int32_t or uint32_t for tablet_id (#34962) --- be/src/olap/rowset/segment_v2/column_reader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/olap/rowset/segment_v2/column_reader.h b/be/src/olap/rowset/segment_v2/column_reader.h index 5a904910497299..d56adf08305dfb 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.h +++ b/be/src/olap/rowset/segment_v2/column_reader.h @@ -550,7 +550,7 @@ class ArrayFileColumnIterator final : public ColumnIterator { class RowIdColumnIterator : public ColumnIterator { public: RowIdColumnIterator() = delete; - RowIdColumnIterator(int32_t tid, RowsetId rid, int32_t segid) + RowIdColumnIterator(int64_t tid, RowsetId rid, int32_t segid) : _tablet_id(tid), _rowset_id(rid), _segment_id(segid) {} Status seek_to_first() override {