[CP] [BUG] fix transfer status and scn not synced problem
This commit is contained in:
@ -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_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user