fix tenant level backup restore failure

This commit is contained in:
oceanoverflow
2022-03-02 10:34:02 +08:00
committed by LINxiansheng
parent 42d9540ff9
commit 875077c242
4 changed files with 135 additions and 61 deletions

View File

@ -45,7 +45,6 @@ struct ObLogArchiveSimpleInfo final {
K_(cur_piece_create_date), K_(is_piece_freezing), K_(prev_piece_id), K_(prev_piece_create_date));
};
// 用于切主后确认pg的checkpoint ts,可能会触发内部表的访问。
class ObLogArchiveInfoMgr final {
public:
static ObLogArchiveInfoMgr &get_instance();
@ -171,6 +170,13 @@ private:
static int get_restore_backup_info_v1_(const GetRestoreBackupInfoParam &param, ObRestoreBackupInfo &info);
// get info from simple path level
static int get_restore_backup_info_v2_(const GetRestoreBackupInfoParam &param, ObRestoreBackupInfo &info);
static int check_is_snapshot_restore_(
const GetRestoreBackupInfoParam &param, const ObBackupSetFileInfo &backup_set_info, bool &is_snapshot_restore);
static int inner_get_restore_backup_set_info_(const GetRestoreBackupInfoParam &param,
ObBackupSetFileInfo &backup_set_info, ObExternTenantLocalityInfo &tenant_locality_info,
common::ObIArray<common::ObPGKey> &sys_pg_keys);
static int inner_get_restore_backup_piece_info_(
const GetRestoreBackupInfoParam &param, ObBackupPieceInfo &piece_info);
};
class ObRestoreFatalErrorReporter : public share::ObThreadPool {