fix auto delete cannot be scheduled

This commit is contained in:
WenJinyu
2023-07-07 08:42:25 +00:00
committed by ob-robot
parent 71a4190455
commit a540e2a72b
4 changed files with 48 additions and 3 deletions

View File

@ -1884,7 +1884,7 @@ int ObBackupAutoObsoleteDeleteTrigger::init(
ret = OB_INIT_TWICE; ret = OB_INIT_TWICE;
LOG_WARN("init twice", K(ret)); LOG_WARN("init twice", K(ret));
} else { } else {
tenant_id_ = tenant_id; tenant_id_ = gen_user_tenant_id(tenant_id);
sql_proxy_ = &sql_proxy; sql_proxy_ = &sql_proxy;
rpc_proxy_ = &rpc_proxy; rpc_proxy_ = &rpc_proxy;
schema_service_ = &schema_service; schema_service_ = &schema_service;
@ -1947,7 +1947,7 @@ int ObBackupAutoObsoleteDeleteTrigger::start_auto_delete_obsolete_data_()
if (!is_inited_) { if (!is_inited_) {
ret = OB_NOT_INIT; ret = OB_NOT_INIT;
LOG_WARN("backup auto delete obsolete bakcup do not init", K(ret)); LOG_WARN("backup auto delete obsolete bakcup do not init", K(ret));
} else if (is_meta_tenant(tenant_id_)) { } else if (is_user_tenant(tenant_id_)) {
recovery_window = 0; recovery_window = 0;
default_delete_policy.reset(); default_delete_policy.reset();
obrpc::ObBackupCleanArg arg; obrpc::ObBackupCleanArg arg;

View File

@ -698,6 +698,44 @@ int ObBackupCleanTaskMgr::delete_meta_info_dir_()
return ret; return ret;
} }
// file:///obbackup/backup_set_1_full/infos/major_data_info_turn_X/
int ObBackupCleanTaskMgr::delete_major_data_info_dir_()
{
int ret = OB_SUCCESS;
ObBackupPath path;
ObBackupSetDesc desc;
desc.backup_set_id_ = backup_set_info_.backup_set_id_;
desc.backup_type_ = backup_set_info_.backup_type_;
share::ObBackupDataType backup_data_type;
backup_data_type.set_major_data_backup();
if (OB_FAIL(ObBackupPathUtil::get_ls_info_data_info_dir_path(backup_dest_, desc, backup_data_type,
backup_set_info_.major_turn_id_, path))) {
LOG_WARN("failed to get ls info data info", K(ret));
} else if (OB_FAIL(share::ObBackupCleanUtil::delete_backup_dir_files(path, backup_dest_.get_storage_info()))) {
LOG_WARN("failed to delete backup file", K(ret), K(task_attr_), K(path));
}
return ret;
}
// file:///obbackup/backup_set_1_full/infos/minor_data_info_turn_X/
int ObBackupCleanTaskMgr::delete_minor_data_info_dir_()
{
int ret = OB_SUCCESS;
ObBackupPath path;
ObBackupSetDesc desc;
desc.backup_set_id_ = backup_set_info_.backup_set_id_;
desc.backup_type_ = backup_set_info_.backup_type_;
share::ObBackupDataType backup_data_type;
backup_data_type.set_minor_data_backup();
if (OB_FAIL(ObBackupPathUtil::get_ls_info_data_info_dir_path(backup_dest_, desc,
backup_data_type, backup_set_info_.minor_turn_id_, path))) {
LOG_WARN("failed to get ls info data info path", K(ret));
} else if (OB_FAIL(share::ObBackupCleanUtil::delete_backup_dir_files(path, backup_dest_.get_storage_info()))) {
LOG_WARN("failed to delete backup file", K(ret), K(task_attr_), K(path));
}
return ret;
}
// file:///obbackup/backup_set_1_full/single_backup_set_info.obbak // file:///obbackup/backup_set_1_full/single_backup_set_info.obbak
int ObBackupCleanTaskMgr::delete_single_backup_set_info_() int ObBackupCleanTaskMgr::delete_single_backup_set_info_()
{ {
@ -838,6 +876,10 @@ int ObBackupCleanTaskMgr::delete_backup_set_meta_info_files_()
LOG_WARN("backup set info is valid", K(ret)); LOG_WARN("backup set info is valid", K(ret));
} else if (OB_FAIL(delete_meta_info_dir_())) { // first deleted meta file on infos dir } else if (OB_FAIL(delete_meta_info_dir_())) { // first deleted meta file on infos dir
LOG_WARN("failed to delete ls attr info file", K(ret)); LOG_WARN("failed to delete ls attr info file", K(ret));
} else if (OB_FAIL(delete_major_data_info_dir_())) {
LOG_WARN("failed to delete major data info file", K(ret));
} else if (OB_FAIL(delete_minor_data_info_dir_())) {
LOG_WARN("failed to delete minor data info file", K(ret));
} else if (OB_FAIL(ObBackupPathUtil::get_ls_info_dir_path(backup_dest_, desc, infos_path))) { } else if (OB_FAIL(ObBackupPathUtil::get_ls_info_dir_path(backup_dest_, desc, infos_path))) {
LOG_WARN("failed to get backup log stream info path", K(ret)); LOG_WARN("failed to get backup log stream info path", K(ret));
} else if (OB_FAIL(delete_data_info_turn_files_(infos_path))) { } else if (OB_FAIL(delete_data_info_turn_files_(infos_path))) {

View File

@ -76,6 +76,8 @@ private:
int delete_backup_set_start_file_(); int delete_backup_set_start_file_();
int delete_backup_piece_start_file_(); int delete_backup_piece_start_file_();
int delete_backup_set_inner_placeholder_(); int delete_backup_set_inner_placeholder_();
int delete_minor_data_info_dir_();
int delete_major_data_info_dir_();
int get_set_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids); int get_set_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids);
int get_piece_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids); int get_piece_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids);
int get_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids); int get_ls_ids_(common::ObIArray<share::ObLSID> &ls_ids);

View File

@ -496,6 +496,7 @@ int ObLSBackupCleanTask::post_rpc_result_(const int64_t result)
clean_ls_res.ls_id_ = ls_id_; clean_ls_res.ls_id_ = ls_id_;
clean_ls_res.result_ = result; clean_ls_res.result_ = result;
clean_ls_res.trace_id_ = trace_id_; clean_ls_res.trace_id_ = trace_id_;
clean_ls_res.dag_id_ = get_dag()->get_dag_id();
const int64_t cluster_id = GCONF.cluster_id; const int64_t cluster_id = GCONF.cluster_id;
const uint64_t meta_tenant_id = gen_meta_tenant_id(tenant_id_); const uint64_t meta_tenant_id = gen_meta_tenant_id(tenant_id_);
if (OB_ISNULL(GCTX.srv_rpc_proxy_) || OB_ISNULL(GCTX.location_service_)) { if (OB_ISNULL(GCTX.srv_rpc_proxy_) || OB_ISNULL(GCTX.location_service_)) {