[CP] [BUG] fix transfer status and scn not synced problem

This commit is contained in:
Handora
2024-08-08 13:03:22 +00:00
committed by ob-robot
parent b24526c208
commit d11b65d66b

View File

@ -1042,7 +1042,13 @@ int ObFreezer::decide_real_snapshot_version_(const ObTabletID &tablet_id,
} else if (ObTabletStatus::TRANSFER_OUT != user_data.tablet_status_ } else if (ObTabletStatus::TRANSFER_OUT != user_data.tablet_status_
&& ObTabletStatus::TRANSFER_OUT_DELETED != user_data.tablet_status_) { && ObTabletStatus::TRANSFER_OUT_DELETED != user_data.tablet_status_) {
//do nothing //do nothing
} else if (user_data.transfer_scn_.is_valid()) { } else if (user_data.transfer_scn_.is_valid()
// transfer's status and transfer_scn may not be synced because
// transfer_out_prepare log changes the status and transfer_out log
// changes the transfer_scn, while we can use origin freeze
// snapshot version because the transfer_out log which decides the
// transfer_scn has not been synced or replayed
&& share::SCN::min_scn() != user_data.transfer_scn_) {
transfer_scn = user_data.transfer_scn_; transfer_scn = user_data.transfer_scn_;
} }