Migration fetch logic macro block id array rpc placeholder
This commit is contained in:
parent
ceebb92d04
commit
d9efc9d9df
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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_;
|
||||
|
@ -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_);
|
||||
|
@ -82,6 +82,12 @@ public:
|
||||
common::ObSArray<ObCopyMacroBlockArg> 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user