[FEAT MERGE] log4200
Co-authored-by: zhjc1124 <zhjc1124@gmail.com> Co-authored-by: BinChenn <binchenn.bc@gmail.com> Co-authored-by: oceanoverflow <oceanoverflow@gmail.com>
This commit is contained in:
@ -279,6 +279,45 @@ int ObLSBackupOperator::report_ls_task_finish(const uint64_t tenant_id, const in
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::get_all_backup_ls_id(const uint64_t tenant_id, const int64_t task_id,
|
||||
common::ObIArray<share::ObLSID> &ls_array, common::ObISQLClient &sql_client)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObSqlString sql;
|
||||
if (OB_INVALID_ID == tenant_id || task_id < 0) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("get invalid args", K(ret), K(task_id), K(tenant_id), K(ls_id));
|
||||
} else if (OB_FAIL(construct_query_backup_sql_(tenant_id, task_id, sql))) {
|
||||
LOG_WARN("failed to construct query backup sql", K(ret), K(tenant_id), K(task_id));
|
||||
} else if (OB_FAIL(get_distinct_ls_id_(tenant_id, sql, ls_array, sql_client))) {
|
||||
LOG_WARN("failed to get distinct ls id", K(ret), K(tenant_id), K(sql));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::get_all_archive_ls_id(const uint64_t tenant_id, const int64_t dest_id,
|
||||
const share::SCN &start_scn, const share::SCN &end_scn, common::ObIArray<share::ObLSID> &ls_array,
|
||||
common::ObISQLClient &sql_client)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObSqlString sql;
|
||||
int64_t start_piece_id = 0;
|
||||
int64_t end_piece_id = 0;
|
||||
if (OB_INVALID_ID == tenant_id || task_id < 0) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("get invalid args", K(ret), K(task_id), K(tenant_id), K(ls_id));
|
||||
} else if (OB_FAIL(get_start_piece_id_(tenant_id, dest_id, start_scn, sql_client, start_piece_id))) {
|
||||
LOG_WARN("failed to get start piece id", K(ret), K(tenant_id), K(dest_id), K(start_scn));
|
||||
} else if (OB_FAIL(get_end_piece_id_(tenant_id, dest_id, end_scn, sql_client, end_piece_id))) {
|
||||
LOG_WARN("failed to get end piece id", K(ret), K(tenant_id), K(dest_id), K(end_scn));
|
||||
} else if (OB_FAIL(construct_query_archive_sql_(tenant_id, dest_id, start_piece_id, end_piece_id, sql))) {
|
||||
LOG_WARN("failed to construct query archive sql", K(ret), K(tenant_id), K(dest_id), K(start_piece_id), K(end_piece_id));
|
||||
} else if (OB_FAIL(get_distinct_ls_id_(tenant_id, sql, ls_array, sql_client))) {
|
||||
LOG_WARN("failed to get distinct ls id", K(ret), K(tenant_id), K(sql));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::report_tablet_skipped(
|
||||
const uint64_t tenant_id, const ObBackupSkippedTablet &skipped_tablet, common::ObISQLClient &sql_client)
|
||||
{
|
||||
@ -411,5 +450,146 @@ int ObLSBackupOperator::fill_backup_skipped_tablet_(const ObBackupSkippedTablet
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::get_distinct_ls_id_(const uint64_t tenant_id, const common::ObSqlString &sql,
|
||||
common::ObIArray<share::ObLSID> &ls_array, common::ObISQLClient &sql_client)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
SMART_VAR(ObMySQLProxy::MySQLResult, res) {
|
||||
common::sqlclient::ObMySQLResult *result = NULL;
|
||||
if (OB_FAIL(sql_client.read(res, gen_meta_tenant_id(tenant_id), sql.ptr()))) {
|
||||
LOG_WARN("failed to exec sql", K(ret), K(sql), K(tenant_id));
|
||||
} else if (OB_ISNULL(result = res.get_result())) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("result set from read is NULL", K(ret));
|
||||
} else {/*do nothing*/}
|
||||
|
||||
while (OB_SUCC(ret) && OB_SUCC(result->next())) {
|
||||
int64_t ls_id = 0;
|
||||
EXTRACT_INT_FIELD_MYSQL(*result, "ls_id", ls_id, int64_t);
|
||||
if (OB_FAIL(ls_array.push_back(ObLSID(ls_id)))) {
|
||||
LOG_WARN("failed to push back ls id", K(ret), K(ls_id));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_LIKELY(OB_ITER_END == ret)) {
|
||||
ret = OB_SUCCESS;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::get_piece_id_(const uint64_t tenant_id, const common::ObSqlString &sql,
|
||||
int64_t &piece_id, common::ObISQLClient &sql_client)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObArray<int64_t> piece_array;
|
||||
SMART_VAR(ObMySQLProxy::MySQLResult, res) {
|
||||
common::sqlclient::ObMySQLResult *result = NULL;
|
||||
if (OB_FAIL(sql_client.read(res, gen_meta_tenant_id(tenant_id), sql.ptr()))) {
|
||||
LOG_WARN("failed to exec sql", K(ret), K(sql), K(tenant_id));
|
||||
} else if (OB_ISNULL(result = res.get_result())) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("result set from read is NULL", K(ret));
|
||||
} else {/*do nothing*/}
|
||||
|
||||
while (OB_SUCC(ret) && OB_SUCC(result->next())) {
|
||||
int64_t piece_id = 0;
|
||||
EXTRACT_INT_FIELD_MYSQL(*result, "piece_id", piece_id, int64_t);
|
||||
if (OB_FAIL(piece_array.push_back(piece_id))) {
|
||||
LOG_WARN("failed to push back", K(piece_id), K(ret));
|
||||
}
|
||||
}
|
||||
if (OB_LIKELY(OB_ITER_END == ret)) {
|
||||
ret = OB_SUCCESS;
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (piece_array.empty()) {
|
||||
ret = OB_ENTRY_NOT_EXIST;
|
||||
LOG_WARN("piece array empty", K(ret));
|
||||
} else if (piece_array.count() > 1) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("piece array count not correct", K(ret), K(piece_array));
|
||||
} else {
|
||||
piece_id = piece_array.at(0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
// TODO(yangyi.yyy): currently, __all_ls_log_archive_progress is not cleaned,
|
||||
// fix later if __all_ls_log_archive_progress is cleaned
|
||||
int ObLSBackupOperator::get_start_piece_id_(const uint64_t tenant_id, const uint64_t dest_id,
|
||||
const share::SCN &start_scn, common::ObISQLClient &sql_client, int64_t &start_piece_id)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObSqlString sql;
|
||||
const char *sql_str = "SELECT piece_id "
|
||||
"FROM %s "
|
||||
"WHERE tenant_id = %lu AND dest_id = %ld "
|
||||
"AND start_scn <= %ld ORDER BY piece_id DESC LIMIT 1";
|
||||
if (OB_INVALID_ID == tenant_id || dest_id < 0) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("get invalid args", K(ret), K(dest_id), K(tenant_id), K(ls_id));
|
||||
} else if (OB_FAIL(sql.append_fmt(sql_str, OB_ALL_LS_LOG_ARCHIVE_PROGRESS_TNAME,
|
||||
tenant_id, dest_id, start_scn.get_val_for_inner_table_field()))) {
|
||||
LOG_WARN("failed to append sql", K(ret), K(sql_str), K(tenant_id), K(dest_id));
|
||||
} else if (OB_FAIL(get_piece_id_(tenant_id, sql, start_piece_id, sql_client))) {
|
||||
LOG_WARN("failed to get piece id", K(ret), K(tenant_id), K(sql));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::get_end_piece_id_(const uint64_t tenant_id, const uint64_t dest_id,
|
||||
const share::SCN &checkpoint_scn, common::ObISQLClient &sql_client, int64_t &end_piece_id)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObSqlString sql;
|
||||
const char *sql_str = "SELECT piece_id "
|
||||
"FROM %s "
|
||||
"WHERE tenant_id = %lu AND dest_id = %ld "
|
||||
"AND checkpoint_scn >= %ld ORDER BY piece_id ASC LIMIT 1";
|
||||
if (OB_INVALID_ID == tenant_id || dest_id < 0) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("get invalid args", K(ret), K(dest_id), K(tenant_id), K(ls_id));
|
||||
} else if (OB_FAIL(sql.append_fmt(sql_str, OB_ALL_LS_LOG_ARCHIVE_PROGRESS_TNAME,
|
||||
tenant_id, dest_id, checkpoint_scn.get_val_for_inner_table_field()))) {
|
||||
LOG_WARN("failed to append sql", K(ret), K(sql_str), K(tenant_id), K(dest_id));
|
||||
} else if (OB_FAIL(get_piece_id_(tenant_id, sql, end_piece_id, sql_client))) {
|
||||
LOG_WARN("failed to get piece id", K(ret), K(tenant_id), K(sql));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::construct_query_backup_sql_(const uint64_t tenant_id, const int64_t task_id, common::ObSqlString &sql)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
const char *sql_str = "SELECT DISTINCT ls_id "
|
||||
"FROM %s "
|
||||
"WHERE tenant_id = %lu and task_id = %ld";
|
||||
if (OB_FAIL(sql.append_fmt(sql_str, OB_ALL_BACKUP_LS_TASK_TNAME, tenant_id, task_id))) {
|
||||
LOG_WARN("failed to append sql", K(ret), K(sql_str), K(tenant_id), K(task_id));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSBackupOperator::construct_query_archive_sql_(const uint64_t tenant_id, const int64_t dest_id,
|
||||
const int64_t start_piece_id, const int64_t end_piece_id, common::ObSqlString &sql)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
const char *sql_str = "SELECT DISTINCT ls_id "
|
||||
"FROM %s "
|
||||
"WHERE tenant_id = %lu AND dest_id = %ld "
|
||||
"AND piece_id >= %ld AND piece_id <= %ld";
|
||||
if (OB_FAIL(sql.append_fmt(sql_str, OB_ALL_LS_LOG_ARCHIVE_PROGRESS_TNAME,
|
||||
tenant_id, dest_id, start_piece_id, end_piece_id))) {
|
||||
LOG_WARN("failed to append sql", K(ret), K(sql_str), K(tenant_id),
|
||||
K(dest_id), K(start_piece_id), K(end_piece_id));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace backup
|
||||
} // namespace oceanbase
|
||||
|
||||
@ -46,6 +46,12 @@ public:
|
||||
// __all_backup_ls_task
|
||||
static int report_ls_task_finish(const uint64_t tenant_id, const int64_t task_id, const share::ObLSID &ls_id,
|
||||
const int64_t turn_id, const int64_t retry_id, const int64_t result, common::ObISQLClient &sql_client);
|
||||
static int get_all_backup_ls_id(const uint64_t tenant_id, const int64_t task_id,
|
||||
common::ObIArray<share::ObLSID> &ls_array, common::ObISQLClient &sql_client);
|
||||
static int get_all_archive_ls_id(const uint64_t tenant_id, const int64_t dest_id,
|
||||
const share::SCN &start_scn, const share::SCN &end_scn, common::ObIArray<share::ObLSID> &ls_array,
|
||||
common::ObISQLClient &sql_client);
|
||||
|
||||
// __all_backup_skipped_tablet
|
||||
static int report_tablet_skipped(
|
||||
const uint64_t tenant_id, const ObBackupSkippedTablet &skipped_tablet, common::ObISQLClient &sql_client);
|
||||
@ -55,6 +61,16 @@ private:
|
||||
static int parse_ls_task_info_results_(
|
||||
sqlclient::ObMySQLResult &result, common::ObIArray<ObBackupLSTaskInfo> &task_info);
|
||||
static int fill_backup_skipped_tablet_(const ObBackupSkippedTablet &skipped_tablet, share::ObDMLSqlSplicer &splicer);
|
||||
static int get_distinct_ls_id_(const uint64_t tenant_id, const common::ObSqlString &sql,
|
||||
common::ObIArray<share::ObLSID> &ls_array, common::ObISQLClient &sql_client);
|
||||
static int get_piece_id_(const uint64_t tenant_id, const common::ObSqlString &sql, int64_t &piece_id, common::ObISQLClient &sql_client);
|
||||
static int get_start_piece_id_(const uint64_t tenant_id, const uint64_t dest_id,
|
||||
const share::SCN &start_scn, common::ObISQLClient &sql_client, int64_t &start_piece_id);
|
||||
static int get_end_piece_id_(const uint64_t tenant_id, const uint64_t dest_id, const share::SCN &end_scn,
|
||||
common::ObISQLClient &sql_client, int64_t &end_piece_id);
|
||||
static int construct_query_backup_sql_(const uint64_t tenant_id, const int64_t task_id, common::ObSqlString &sql);
|
||||
static int construct_query_archive_sql_(const uint64_t tenant_id, const int64_t dest_id, const int64_t start_piece_id,
|
||||
const int64_t end_piece_id, common::ObSqlString &sql);
|
||||
};
|
||||
|
||||
} // namespace backup
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -32,6 +32,7 @@
|
||||
#include "storage/ls/ob_ls_tablet_service.h"
|
||||
#include "share/backup/ob_backup_data_store.h"
|
||||
#include "storage/blocksstable/ob_logic_macro_id.h"
|
||||
#include "share/backup/ob_archive_store.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace share
|
||||
@ -395,7 +396,7 @@ public:
|
||||
ObLSBackupComplementLogDag();
|
||||
virtual ~ObLSBackupComplementLogDag();
|
||||
int init(const ObBackupJobDesc &job_desc, const share::ObBackupDest &backup_dest, const uint64_t tenant_id,
|
||||
const share::ObBackupSetDesc &backup_set_desc, const share::ObLSID &ls_id, const int64_t turn_id,
|
||||
const int64_t dest_id, const share::ObBackupSetDesc &backup_set_desc, const share::ObLSID &ls_id, const int64_t turn_id,
|
||||
const int64_t retry_id, const share::SCN &start_scn, const share::SCN &end_scn, const ObBackupReportCtx &report_ctx);
|
||||
virtual int create_first_task() override;
|
||||
virtual int fill_comment(char *buf, const int64_t buf_len) const override;
|
||||
@ -410,6 +411,7 @@ private:
|
||||
ObBackupJobDesc job_desc_;
|
||||
share::ObBackupDest backup_dest_;
|
||||
uint64_t tenant_id_;
|
||||
int64_t dest_id_;
|
||||
share::ObBackupSetDesc backup_set_desc_;
|
||||
share::ObLSID ls_id_;
|
||||
int64_t turn_id_;
|
||||
@ -657,14 +659,16 @@ class ObLSBackupComplementLogTask : public share::ObITask {
|
||||
struct BackupPieceFile {
|
||||
BackupPieceFile();
|
||||
void reset();
|
||||
int set(const uint64_t tenant_id, const int64_t round_id, const int64_t piece_id, const int64_t ls_id,
|
||||
const int64_t file_id);
|
||||
TO_STRING_KV(K_(tenant_id), K_(round_id), K_(piece_id), K_(ls_id), K_(file_id));
|
||||
uint64_t tenant_id_;
|
||||
int set(const int64_t dest_id, const int64_t round_id, const int64_t piece_id, const share::ObLSID &ls_id,
|
||||
const int64_t file_id, const share::SCN &start_scn, const ObBackupPathString &path);
|
||||
TO_STRING_KV(K_(dest_id), K_(round_id), K_(piece_id), K_(ls_id), K_(file_id), K_(path));
|
||||
int64_t dest_id_;
|
||||
int64_t round_id_;
|
||||
int64_t piece_id_;
|
||||
int64_t ls_id_;
|
||||
share::ObLSID ls_id_;
|
||||
int64_t file_id_;
|
||||
share::SCN start_scn_;
|
||||
ObBackupPathString path_;
|
||||
};
|
||||
|
||||
class BackupPieceOp : public ObBaseDirEntryOperator {
|
||||
@ -674,9 +678,6 @@ class ObLSBackupComplementLogTask : public share::ObITask {
|
||||
int get_file_id_list(common::ObIArray<int64_t> &files) const;
|
||||
TO_STRING_KV(K_(file_id_list));
|
||||
|
||||
private:
|
||||
int parse_log_file_id_(const common::ObString &file_name, int64_t &piece_id);
|
||||
|
||||
private:
|
||||
ObArray<int64_t> file_id_list_;
|
||||
};
|
||||
@ -688,43 +689,66 @@ class ObLSBackupComplementLogTask : public share::ObITask {
|
||||
public:
|
||||
ObLSBackupComplementLogTask();
|
||||
virtual ~ObLSBackupComplementLogTask();
|
||||
int init(const ObBackupJobDesc &job_desc, const share::ObBackupDest &backup_dest, const uint64_t tenant_id,
|
||||
int init(const ObBackupJobDesc &job_desc, const share::ObBackupDest &backup_dest, const uint64_t tenant_id, const int64_t dest_id,
|
||||
const share::ObBackupSetDesc &backup_set_desc, const share::ObLSID &ls_id, const share::SCN &start_scn,
|
||||
const share::SCN &end_scn, const int64_t turn_id, const int64_t retry_id, const ObBackupReportCtx &report_ctx);
|
||||
virtual int process() override;
|
||||
|
||||
private:
|
||||
int get_newly_created_ls_in_piece_(const int64_t dest_id, const uint64_t tenant_id,
|
||||
const share::SCN &start_scn, const share::SCN &end_scn, common::ObIArray<share::ObLSID> &ls_array);
|
||||
int inner_process_(const int64_t archive_dest_id, const share::ObLSID &ls_id);
|
||||
int get_complement_log_dir_path_(share::ObBackupPath &backup_path);
|
||||
int calc_backup_file_range_(common::ObIArray<BackupPieceFile> &file_list);
|
||||
int check_pieces_continue_(const common::ObIArray<share::ObTenantArchivePieceAttr> &rounds);
|
||||
int get_piece_id_by_ts_(const uint64_t tenant_id, const share::SCN &scn, int64_t &piece_id);
|
||||
int get_all_pieces_(const uint64_t tenant_id, const int64_t start_piece_id, const int64_t end_piece_id,
|
||||
int write_format_file_();
|
||||
int generate_format_desc_(share::ObBackupFormatDesc &format_desc);
|
||||
int calc_backup_file_range_(const int64_t dest_id, const share::ObLSID &ls_id, common::ObIArray<BackupPieceFile> &file_list);
|
||||
int get_active_round_dest_id_(const uint64_t tenant_id, int64_t &dest_id);
|
||||
int get_piece_id_by_scn_(const uint64_t tenant_id, const int64_t dest_id, const share::SCN &scn, int64_t &piece_id);
|
||||
int get_all_pieces_(const uint64_t tenant_id, const int64_t dest_id, const int64_t start_piece_id, const int64_t end_piece_id,
|
||||
common::ObArray<share::ObTenantArchivePieceAttr> &piece_list);
|
||||
int get_all_piece_file_list_(const uint64_t tenant_id,
|
||||
int wait_pieces_frozen_(const common::ObArray<share::ObTenantArchivePieceAttr> &piece_list);
|
||||
int wait_piece_frozen_(const share::ObTenantArchivePieceAttr &piece);
|
||||
int check_piece_frozen_(const share::ObTenantArchivePieceAttr &piece, bool &is_frozen);
|
||||
int get_all_piece_file_list_(const uint64_t tenant_id, const share::ObLSID &ls_id,
|
||||
const common::ObIArray<share::ObTenantArchivePieceAttr> &piece_list, const share::SCN &start_scn, const share::SCN &end_scn,
|
||||
common::ObIArray<BackupPieceFile> &piece_file_list);
|
||||
int inner_get_piece_file_list_(
|
||||
const int64_t round_id, const int64_t piece_id, common::ObIArray<BackupPieceFile> &piece_file_list);
|
||||
int locate_archive_file_id_by_ts_(const uint64_t tenant_id, const int64_t round_id, const int64_t piece_id,
|
||||
const share::SCN &scn, const bool is_upper_bound, int64_t &file_id);
|
||||
int inner_get_piece_file_list_(const share::ObLSID &ls_id, const ObTenantArchivePieceAttr &piece_attr, common::ObIArray<BackupPieceFile> &piece_file_list);
|
||||
int locate_archive_file_id_by_scn_(const ObTenantArchivePieceAttr &piece_attr, const share::ObLSID &ls_id, const SCN &scn, int64_t &file_id);
|
||||
int get_file_in_between_(const int64_t start_file_id, const int64_t end_file_id, common::ObIArray<BackupPieceFile> &list);
|
||||
int filter_file_id_smaller_than_(const int64_t file_id, common::ObIArray<BackupPieceFile> &list);
|
||||
int filter_file_id_larger_than_(const int64_t file_id, common::ObIArray<BackupPieceFile> &list);
|
||||
int get_src_backup_piece_dir_(const int64_t round_id, const int64_t piece_id, share::ObBackupPath &backup_path);
|
||||
int get_src_backup_piece_dir_(const share::ObLSID &ls_id, const ObTenantArchivePieceAttr &piece_attr, share::ObBackupPath &backup_path);
|
||||
int get_src_backup_file_path_(const BackupPieceFile &piece_file, share::ObBackupPath &backup_path);
|
||||
int get_dst_backup_file_path_(const BackupPieceFile &piece_file, share::ObBackupPath &backup_path);
|
||||
int backup_complement_log_(const common::ObIArray<BackupPieceFile> &path);
|
||||
int inner_backup_complement_log_(const share::ObBackupPath &src_path, const share::ObBackupPath &dst_path);
|
||||
int transfer_clog_file_(const share::ObBackupPath &src_path, const share::ObBackupPath &dst_path);
|
||||
int inner_transfer_clog_file_(const share::ObBackupPath &src_path, const share::ObBackupPath &dst_path);
|
||||
int inner_transfer_clog_file_(const share::ObBackupPath &src_path, const share::ObBackupPath &dst_path, int64_t &transfer_len);
|
||||
int get_transfer_length_(const int64_t delta_len, int64_t &transfer_len);
|
||||
int get_file_length_(const common::ObString &path, const share::ObBackupStorageInfo *storage_info, int64_t &length);
|
||||
int post_rpc_result_(const int64_t result);
|
||||
int get_copy_src_and_dest_(const BackupPieceFile &piece_file, share::ObBackupDest &src, share::ObBackupDest &dest);
|
||||
int transform_and_copy_meta_file_(const BackupPieceFile &piece_file);
|
||||
// ls_file_info
|
||||
int copy_ls_file_info_(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// piece_file_info
|
||||
int copy_piece_file_info_(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// single_piece_info
|
||||
int copy_single_piece_info_(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// tenant_archive_piece_infos
|
||||
int copy_tenant_archive_piece_infos(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// checkpoint_info
|
||||
int copy_checkpoint_info(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// round_start
|
||||
int copy_round_start_file(const BackupPieceFile &piece_file, const share::ObArchiveStore &src_store, const share::ObArchiveStore &dest_store);
|
||||
// piece_start
|
||||
int copy_piece_start_file(const BackupPieceFile &piece_file, const share::ObBackupDest &src, const share::ObBackupDest &dest);
|
||||
|
||||
private:
|
||||
bool is_inited_;
|
||||
ObBackupJobDesc job_desc_;
|
||||
share::ObBackupDest backup_dest_;
|
||||
uint64_t tenant_id_;
|
||||
int64_t dest_id_;
|
||||
share::ObBackupSetDesc backup_set_desc_;
|
||||
share::ObLSID ls_id_;
|
||||
share::SCN compl_start_scn_;
|
||||
|
||||
Reference in New Issue
Block a user