Fix ls migration core at src get macro block range argument
This commit is contained in:
@ -933,12 +933,13 @@ int ObHAFetchMacroBlockP::process()
|
||||
}
|
||||
#endif
|
||||
|
||||
SMART_VAR(storage::ObCopyMacroBlockObProducer, producer) {
|
||||
if (OB_FAIL(producer.init(arg_.tenant_id_, arg_.ls_id_, arg_.table_key_, arg_.copy_macro_range_info_,
|
||||
arg_.data_version_, arg_.backfill_tx_scn_))) {
|
||||
LOG_WARN("failed to init macro block producer", K(ret), K(arg_));
|
||||
SMART_VARS_2((storage::ObCopyMacroBlockObProducer, producer), (ObCopyMacroBlockRangeArg, arg)) {
|
||||
if (OB_FAIL(arg.assign(arg_))) {
|
||||
LOG_WARN("failed to assign copy macro block range arg", K(ret), K(arg_));
|
||||
} else if (OB_FAIL(producer.init(arg.tenant_id_, arg.ls_id_, arg.table_key_, arg.copy_macro_range_info_,
|
||||
arg.data_version_, arg.backfill_tx_scn_))) {
|
||||
LOG_WARN("failed to init macro block producer", K(ret), K(arg));
|
||||
} else {
|
||||
|
||||
while (OB_SUCC(ret)) {
|
||||
copy_macro_block_header.reset();
|
||||
if (OB_FAIL(producer.get_next_macro_block(data, copy_macro_block_header))) {
|
||||
@ -963,19 +964,20 @@ int ObHAFetchMacroBlockP::process()
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
if (arg_.need_check_seq_) {
|
||||
if (OB_FAIL(compare_ls_rebuild_seq(arg_.tenant_id_, arg_.ls_id_, arg_.ls_rebuild_seq_))) {
|
||||
LOG_WARN("failed to compare ls rebuild seq", K(ret), K_(arg));
|
||||
if (arg.need_check_seq_) {
|
||||
if (OB_FAIL(compare_ls_rebuild_seq(arg.tenant_id_, arg.ls_id_, arg.ls_rebuild_seq_))) {
|
||||
LOG_WARN("failed to compare ls rebuild seq", K(ret), K(arg));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
if (total_macro_block_count_ != arg_.copy_macro_range_info_.macro_block_count_) {
|
||||
ret = OB_ERR_SYS;
|
||||
STORAGE_LOG(ERROR, "macro block count not match",
|
||||
K(ret), K(total_macro_block_count_), K(arg_.copy_macro_range_info_));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (total_macro_block_count_ != arg.copy_macro_range_info_.macro_block_count_) {
|
||||
ret = OB_ERR_SYS;
|
||||
STORAGE_LOG(ERROR, "macro block count not match",
|
||||
K(ret), K(total_macro_block_count_), K(arg.copy_macro_range_info_));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,8 +87,8 @@ public:
|
||||
void reset();
|
||||
bool is_valid() const;
|
||||
int assign(const ObCopyMacroBlockRangeArg &arg);
|
||||
|
||||
TO_STRING_KV(K_(tenant_id), K_(ls_id), K_(table_key), K_(data_version), K_(backfill_tx_scn), K_(copy_macro_range_info));
|
||||
|
||||
uint64_t tenant_id_;
|
||||
share::ObLSID ls_id_;
|
||||
storage::ObITable::TableKey table_key_;
|
||||
|
||||
Reference in New Issue
Block a user