diff --git a/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h b/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h index 300f5af70..ddd142ad2 100644 --- a/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h +++ b/deps/oblib/src/rpc/obrpc/ob_rpc_packet_list.h @@ -513,6 +513,9 @@ PCODE_DEF(OB_ROOT_REBUILD_TABLET, 0x4C5) PCODE_DEF(OB_HA_REBUILD_TABLET, 0x4C6) PCODE_DEF(OB_HA_REBUILD_TABLET_SSTABLE_INFO, 0x4C7) +// fetch macro block logic id array +// PCODE_DEF(OB_HA_FETCH_SSTABLE_LOGIC_MACRO_INFO, 0x4C8) + // sql, including executor // sql diff --git a/src/storage/high_availability/ob_storage_ha_reader.cpp b/src/storage/high_availability/ob_storage_ha_reader.cpp index ef866ab07..3dd285327 100644 --- a/src/storage/high_availability/ob_storage_ha_reader.cpp +++ b/src/storage/high_availability/ob_storage_ha_reader.cpp @@ -39,7 +39,7 @@ ERRSIM_POINT_DEF(EN_ONLY_COPY_OLD_VERSION_MAJOR_SSTABLE); /******************CopyMacroBlockReadInfo*********************/ ObICopyMacroBlockReader::CopyMacroBlockReadData::CopyMacroBlockReadData() - : data_type_(ObCopyMacroBlockHeader::DataType::MAX), + : data_type_(ObCopyMacroBlockDataType::MAX), is_reuse_macro_block_(false), macro_data_(), macro_meta_(nullptr), @@ -55,7 +55,7 @@ ObICopyMacroBlockReader::CopyMacroBlockReadData::~CopyMacroBlockReadData() void ObICopyMacroBlockReader::CopyMacroBlockReadData::reset() { - data_type_ = ObCopyMacroBlockHeader::DataType::MAX; + data_type_ = ObCopyMacroBlockDataType::MAX; is_reuse_macro_block_ = false; macro_data_ = ObBufferReader(NULL, 0, 0); macro_meta_ = nullptr; @@ -67,9 +67,9 @@ bool ObICopyMacroBlockReader::CopyMacroBlockReadData::is_valid() const { bool valid = false; - if (ObCopyMacroBlockHeader::DataType::MACRO_META_ROW == data_type_) { + if (ObCopyMacroBlockDataType::MACRO_META_ROW == data_type_) { valid = is_reuse_macro_block_ && OB_NOT_NULL(macro_meta_) && macro_meta_->is_valid(); - } else if (ObCopyMacroBlockHeader::DataType::MACRO_DATA == data_type_) { + } else if (ObCopyMacroBlockDataType::MACRO_DATA == data_type_) { valid = !is_reuse_macro_block_ && macro_data_.is_valid(); } @@ -88,7 +88,7 @@ int ObICopyMacroBlockReader::CopyMacroBlockReadData::set_macro_meta( } else if (OB_FAIL(macro_meta.deep_copy(macro_meta_, allocator_))) { LOG_WARN("failed to deep copy macro meta", K(ret), K(macro_meta)); } else { - data_type_ = ObCopyMacroBlockHeader::DataType::MACRO_META_ROW; + data_type_ = ObCopyMacroBlockDataType::MACRO_META_ROW; is_reuse_macro_block_ = is_reuse_macro_block; } @@ -106,7 +106,7 @@ int ObICopyMacroBlockReader::CopyMacroBlockReadData::set_macro_data( LOG_WARN("set macro data get invalid argument", K(ret), K(data), K(is_reuse_macro_block)); } else { macro_data_ = data; - data_type_ = ObCopyMacroBlockHeader::DataType::MACRO_DATA; + data_type_ = ObCopyMacroBlockDataType::MACRO_DATA; is_reuse_macro_block_ = is_reuse_macro_block; } @@ -434,11 +434,11 @@ int ObCopyMacroBlockObReader::get_read_info_(const ObCopyMacroBlockHeader &heade int ret = OB_SUCCESS; read_data.reset(); - if (header.data_type_ == ObCopyMacroBlockHeader::DataType::MACRO_DATA) { + if (header.data_type_ == ObCopyMacroBlockDataType::MACRO_DATA) { if (OB_FAIL(read_data.set_macro_data(data, header.is_reuse_macro_block_))) { LOG_WARN("failed to set macro data", K(ret), K(data), K(header)); } - } else if (header.data_type_ == ObCopyMacroBlockHeader::DataType::MACRO_META_ROW) { + } else if (header.data_type_ == ObCopyMacroBlockDataType::MACRO_META_ROW) { ObDatumRow macro_meta_row; ObDataMacroBlockMeta macro_meta; MacroBlockId macro_id; @@ -1196,7 +1196,7 @@ int ObCopyMacroBlockObProducer::get_next_macro_block( data.assign(meta_row_buf_.data(), occupy_size); copy_macro_block_header.occupy_size_ = occupy_size; copy_macro_block_header.is_reuse_macro_block_ = true; - copy_macro_block_header.data_type_ = ObCopyMacroBlockHeader::DataType::MACRO_META_ROW; + copy_macro_block_header.data_type_ = ObCopyMacroBlockDataType::MACRO_META_ROW; } } else { blocksstable::ObMacroBlockCommonHeader common_header; @@ -1215,7 +1215,7 @@ int ObCopyMacroBlockObProducer::get_next_macro_block( data.assign(copy_macro_block_handle_[handle_idx_].read_handle_.get_buffer(), occupy_size); copy_macro_block_header.is_reuse_macro_block_ = false; copy_macro_block_header.occupy_size_ = occupy_size; - copy_macro_block_header.data_type_ = ObCopyMacroBlockHeader::DataType::MACRO_DATA; + copy_macro_block_header.data_type_ = ObCopyMacroBlockDataType::MACRO_DATA; } } } diff --git a/src/storage/high_availability/ob_storage_ha_reader.h b/src/storage/high_availability/ob_storage_ha_reader.h index 16148607a..da7bc05a8 100644 --- a/src/storage/high_availability/ob_storage_ha_reader.h +++ b/src/storage/high_availability/ob_storage_ha_reader.h @@ -53,11 +53,11 @@ public: int set_macro_data(const blocksstable::ObBufferReader& macro_data, const bool &is_reuse_macro_block); void set_macro_block_id(const blocksstable::MacroBlockId ¯o_block_id); bool is_reuse_macro_block() const { return is_reuse_macro_block_; } - bool is_macro_data() const { return data_type_ == ObCopyMacroBlockHeader::DataType::MACRO_DATA; } - bool is_macro_meta() const { return data_type_ == ObCopyMacroBlockHeader::DataType::MACRO_META_ROW; } + bool is_macro_data() const { return data_type_ == ObCopyMacroBlockDataType::MACRO_DATA; } + bool is_macro_meta() const { return data_type_ == ObCopyMacroBlockDataType::MACRO_META_ROW; } public: TO_STRING_KV(K_(data_type), K_(is_reuse_macro_block), K_(macro_data), KPC_(macro_meta)); - ObCopyMacroBlockHeader::DataType data_type_; + ObCopyMacroBlockDataType data_type_; bool is_reuse_macro_block_; blocksstable::ObBufferReader macro_data_; blocksstable::ObDataMacroBlockMeta *macro_meta_; diff --git a/src/storage/ob_storage_rpc.cpp b/src/storage/ob_storage_rpc.cpp index 2beb4596f..3e929e885 100644 --- a/src/storage/ob_storage_rpc.cpp +++ b/src/storage/ob_storage_rpc.cpp @@ -202,7 +202,7 @@ OB_SERIALIZE_MEMBER(ObCopyMacroBlockRangeArg, tenant_id_, ls_id_, table_key_, da ObCopyMacroBlockHeader::ObCopyMacroBlockHeader() : is_reuse_macro_block_(false), occupy_size_(0), - data_type_(DataType::MACRO_DATA) // default value for compat, previous version won't contain data_type_ and will pass macro data all the time + data_type_(ObCopyMacroBlockDataType::MACRO_DATA) // default value for compat, previous version won't contain data_type_ and will pass macro data all the time { } @@ -214,7 +214,7 @@ void ObCopyMacroBlockHeader::reset() bool ObCopyMacroBlockHeader::is_valid() const { - return occupy_size_ > 0 && data_type_ >= DataType::MACRO_DATA && data_type_ < DataType::MAX; + return occupy_size_ > 0 && data_type_ >= ObCopyMacroBlockDataType::MACRO_DATA && data_type_ < ObCopyMacroBlockDataType::MAX; } OB_SERIALIZE_MEMBER(ObCopyMacroBlockHeader, is_reuse_macro_block_, occupy_size_, data_type_); diff --git a/src/storage/ob_storage_rpc.h b/src/storage/ob_storage_rpc.h index a7284801d..c5d2e4d92 100755 --- a/src/storage/ob_storage_rpc.h +++ b/src/storage/ob_storage_rpc.h @@ -82,6 +82,12 @@ public: common::ObSArray arg_list_; }; +enum ObCopyMacroBlockDataType { + MACRO_DATA = 0, + MACRO_META_ROW = 1, + MAX +}; + struct ObCopyMacroBlockRangeArg final { OB_UNIS_VERSION(2); @@ -109,12 +115,6 @@ struct ObCopyMacroBlockHeader { OB_UNIS_VERSION(2); public: - enum DataType - { - MACRO_DATA = 0, - MACRO_META_ROW = 1, - MAX, - }; ObCopyMacroBlockHeader(); virtual ~ObCopyMacroBlockHeader() {} void reset(); @@ -123,7 +123,7 @@ public: TO_STRING_KV(K_(is_reuse_macro_block), K_(occupy_size), K_(data_type)); bool is_reuse_macro_block_; int64_t occupy_size_; - DataType data_type_; + ObCopyMacroBlockDataType data_type_; // FARM COMPAT WHITELIST FOR data_type_: renamed }; struct ObCopyTabletInfoArg