write plush archive log format file by rs
This commit is contained in:
@ -1591,6 +1591,8 @@ int ObBackupSetTaskMgr::write_extern_infos()
|
|||||||
HEAP_VARS_2((ObExternTenantLocalityInfoDesc, locality_info),
|
HEAP_VARS_2((ObExternTenantLocalityInfoDesc, locality_info),
|
||||||
(ObExternBackupSetInfoDesc, backup_set_info)) {
|
(ObExternBackupSetInfoDesc, backup_set_info)) {
|
||||||
if (OB_FAIL(ret)) {
|
if (OB_FAIL(ret)) {
|
||||||
|
} else if (job_attr_->plus_archivelog_ && OB_FAIL(write_log_format_file_())) {
|
||||||
|
LOG_WARN("failed to write log format file", K(ret));
|
||||||
} else if (OB_FAIL(write_extern_locality_info_(locality_info))) {
|
} else if (OB_FAIL(write_extern_locality_info_(locality_info))) {
|
||||||
LOG_WARN("[DATA_BACKUP]failed to write extern tenant locality info", K(ret), KPC(job_attr_));
|
LOG_WARN("[DATA_BACKUP]failed to write extern tenant locality info", K(ret), KPC(job_attr_));
|
||||||
} else if (OB_FAIL(write_backup_set_info_(set_task_attr_, backup_set_info))) {
|
} else if (OB_FAIL(write_backup_set_info_(set_task_attr_, backup_set_info))) {
|
||||||
@ -1608,6 +1610,59 @@ int ObBackupSetTaskMgr::write_extern_infos()
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ObBackupSetTaskMgr::write_log_format_file_()
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
share::ObBackupFormatDesc format_desc;
|
||||||
|
ObSchemaGetterGuard schema_guard;
|
||||||
|
const ObTenantSchema *tenant_info = NULL;
|
||||||
|
share::ObBackupStore store;
|
||||||
|
ObBackupDest backup_dest;
|
||||||
|
ObBackupDest new_backup_dest;
|
||||||
|
share::ObBackupSetDesc desc;
|
||||||
|
desc.backup_set_id_ = job_attr_->backup_set_id_;
|
||||||
|
desc.backup_type_ = job_attr_->backup_type_;
|
||||||
|
int64_t dest_id = 0;
|
||||||
|
bool is_exist = false;
|
||||||
|
|
||||||
|
if (OB_FAIL(ObBackupStorageInfoOperator::get_backup_dest(*sql_proxy_, job_attr_->tenant_id_, job_attr_->backup_path_,
|
||||||
|
backup_dest))) {
|
||||||
|
LOG_WARN("failed to get backup dest", K(ret), KPC(job_attr_));
|
||||||
|
} else if (OB_FAIL(ObBackupPathUtil::construct_backup_complement_log_dest(backup_dest, desc, new_backup_dest))) {
|
||||||
|
LOG_WARN("failed to set archive dest", K(ret), K(backup_dest));
|
||||||
|
} else if (OB_FAIL(ObBackupStorageInfoOperator::get_dest_id(*sql_proxy_, job_attr_->tenant_id_, backup_dest, dest_id))) {
|
||||||
|
LOG_WARN("failed to get dest id", K(ret), KPC(job_attr_));
|
||||||
|
} else if (OB_FAIL(schema_service_->get_tenant_schema_guard(job_attr_->tenant_id_, schema_guard))) {
|
||||||
|
LOG_WARN("failed to get_tenant_schema_guard", KR(ret), "tenant_id", job_attr_->tenant_id_);
|
||||||
|
} else if (OB_FAIL(schema_guard.get_tenant_info(job_attr_->tenant_id_, tenant_info))) {
|
||||||
|
LOG_WARN("failed to get tenant info", K(ret), "tenant_id", job_attr_->tenant_id_);
|
||||||
|
} else if (OB_FAIL(format_desc.cluster_name_.assign(GCONF.cluster.str()))) {
|
||||||
|
LOG_WARN("failed to assign cluster name", K(ret));
|
||||||
|
} else if (OB_FAIL(format_desc.tenant_name_.assign(tenant_info->get_tenant_name()))) {
|
||||||
|
LOG_WARN("failed to assign tenant name", K(ret));
|
||||||
|
} else if (OB_FAIL(new_backup_dest.get_backup_path_str(format_desc.path_.ptr(), format_desc.path_.capacity()))) {
|
||||||
|
LOG_WARN("failed to get backup path", K(ret), K(new_backup_dest));
|
||||||
|
} else {
|
||||||
|
format_desc.tenant_id_ = job_attr_->tenant_id_;
|
||||||
|
format_desc.incarnation_ = OB_START_INCARNATION;
|
||||||
|
format_desc.dest_id_ = dest_id;
|
||||||
|
format_desc.dest_type_ = ObBackupDestType::DEST_TYPE_ARCHIVE_LOG;
|
||||||
|
format_desc.cluster_id_ = GCONF.cluster_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (FAILEDx(store.init(new_backup_dest))) {
|
||||||
|
LOG_WARN("failed to set archive dest", K(ret), K(backup_dest));
|
||||||
|
} else if (OB_FAIL(store.is_format_file_exist(is_exist))) {
|
||||||
|
LOG_WARN("failed to check is format file exist", K(ret));
|
||||||
|
} else if (is_exist) {// do not recreate the format file
|
||||||
|
} else if (OB_FAIL(store.write_format_file(format_desc))) {
|
||||||
|
LOG_WARN("failed to write format file", K(ret), K(format_desc));
|
||||||
|
} else {
|
||||||
|
LOG_INFO("write log format file succeed", K(format_desc));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int ObBackupSetTaskMgr::write_backup_set_info_(
|
int ObBackupSetTaskMgr::write_backup_set_info_(
|
||||||
const ObBackupSetTaskAttr &set_task_attr,
|
const ObBackupSetTaskAttr &set_task_attr,
|
||||||
ObExternBackupSetInfoDesc &backup_set_info)
|
ObExternBackupSetInfoDesc &backup_set_info)
|
||||||
|
|||||||
@ -106,6 +106,7 @@ private:
|
|||||||
share::ObExternBackupSetInfoDesc &backup_set_info);
|
share::ObExternBackupSetInfoDesc &backup_set_info);
|
||||||
int write_extern_diagnose_info_(const share::ObExternTenantLocalityInfoDesc &locality_info,
|
int write_extern_diagnose_info_(const share::ObExternTenantLocalityInfoDesc &locality_info,
|
||||||
const share::ObExternBackupSetInfoDesc &backup_set_info);
|
const share::ObExternBackupSetInfoDesc &backup_set_info);
|
||||||
|
int write_log_format_file_();
|
||||||
|
|
||||||
int write_extern_ls_info_(const ObArray<share::ObBackupLSTaskAttr> &ls_tasks);
|
int write_extern_ls_info_(const ObArray<share::ObBackupLSTaskAttr> &ls_tasks);
|
||||||
int write_tablet_to_ls_infos_(const ObIArray<share::ObBackupDataTabletToLSInfo> &tablets_to_ls, const int64_t turn_id);
|
int write_tablet_to_ls_infos_(const ObIArray<share::ObBackupDataTabletToLSInfo> &tablets_to_ls, const int64_t turn_id);
|
||||||
|
|||||||
@ -4671,8 +4671,6 @@ int ObLSBackupComplementLogTask::inner_process_(
|
|||||||
LOG_WARN("failed to get backup file path", K(ret));
|
LOG_WARN("failed to get backup file path", K(ret));
|
||||||
} else if (OB_FAIL(util.mkdir(backup_path.get_obstr(), backup_dest_.get_storage_info()))) {
|
} else if (OB_FAIL(util.mkdir(backup_path.get_obstr(), backup_dest_.get_storage_info()))) {
|
||||||
LOG_WARN("failed to make parent dir", K(ret), K(backup_path), K(backup_dest_));
|
LOG_WARN("failed to make parent dir", K(ret), K(backup_path), K(backup_dest_));
|
||||||
} else if (OB_FAIL(write_format_file_())) {
|
|
||||||
LOG_WARN("failed to write format file", K(ret));
|
|
||||||
} else if (OB_FAIL(calc_backup_file_range_(archive_dest_id, ls_id, file_list))) {
|
} else if (OB_FAIL(calc_backup_file_range_(archive_dest_id, ls_id, file_list))) {
|
||||||
LOG_WARN("failed to calc backup file range", K(ret), K(archive_dest_id), K(ls_id));
|
LOG_WARN("failed to calc backup file range", K(ret), K(archive_dest_id), K(ls_id));
|
||||||
} else if (OB_FAIL(backup_complement_log_(file_list))) {
|
} else if (OB_FAIL(backup_complement_log_(file_list))) {
|
||||||
|
|||||||
Reference in New Issue
Block a user