提交 5d5bdf2d 编写于 作者: O oceanoverflow 提交者: ob-robot

fix backup get skipped report report -4016 issue

上级 4def282e
......@@ -122,7 +122,9 @@ int ObBackupDataLSTaskMgr::gen_and_add_task_()
case ObBackupDataTaskType::Type::BACKUP_DATA_MAJOR: {
if (ObBackupDataTaskType::Type::BACKUP_DATA_MAJOR == ls_attr_->task_type_.type_) {
#ifdef ERRSIM
ROOTSERVICE_EVENT_ADD("backup", "before_backup_major_sstable");
ROOTSERVICE_EVENT_ADD("backup", "before_backup_major_sstable",
"tenant_id", ls_attr_->tenant_id_,
"ls_id", ls_attr_->ls_id_.id());
DEBUG_SYNC(BEFORE_BACKUP_MAJOR_SSTABLE);
#endif
}
......
......@@ -449,6 +449,7 @@ class ObString;
ACT(BEFORE_RESTORE_SERVICE_PUSH_FETCH_DATA,)\
ACT(AFTER_MIGRATION_REPORT_LS_META_TABLE,)\
ACT(BEFORE_RESTORE_HANDLE_FETCH_LOG_TASK,)\
ACT(BEFORE_DATA_TABLETS_MIGRATION_TASK,)\
ACT(MAX_DEBUG_SYNC_POINT,)
DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);
......
......@@ -3795,8 +3795,6 @@ int ObLSBackupPrepareTask::may_need_advance_checkpoint_()
LOG_WARN("failed to fetch backup ls meta checkpoint ts", K(ret), K_(param));
} else if (FALSE_IT(ls_backup_ctx_->rebuild_seq_ = rebuild_seq)) {
// assign rebuild seq
} else if (backup_data_type_.is_major_backup()) {
LOG_INFO("no need advance checkpoint when backup major");
} else {
const uint64_t tenant_id = param_.tenant_id_;
const share::ObLSID &ls_id = param_.ls_id_;
......@@ -3813,6 +3811,17 @@ int ObLSBackupPrepareTask::may_need_advance_checkpoint_()
LOG_WARN("failed to get ls meta", K(ret), K(tenant_id), K(ls_id));
} else if (OB_FAIL(cur_ls_meta.check_valid_for_backup())) {
LOG_WARN("failed to check valid for backup", K(ret), K(cur_ls_meta));
} else if (backup_data_type_.is_major_backup()) {
if (backup_clog_checkpoint_scn > cur_ls_meta.get_clog_checkpoint_scn()) {
ret = OB_REPLICA_CANNOT_BACKUP;
LOG_WARN("clog checkpoint scn too small, can not use this replica", K(ret), K(tenant_id), K(ls_id));
SERVER_EVENT_ADD("backup", "clog_checkpoint_scn_too_small",
"tenant_id", tenant_id,
"ls_id", ls_id.id(),
"backup_set_id", param_.backup_set_desc_.backup_set_id_,
"backup_clog_checkpoint_scn", backup_clog_checkpoint_scn,
"cur_clog_checkpoint_scn", cur_ls_meta.get_clog_checkpoint_scn());
}
} else if (backup_clog_checkpoint_scn <= cur_ls_meta.get_clog_checkpoint_scn()) {
LOG_INFO("no need advance checkpoint", K_(param));
} else if (OB_FAIL(advance_checkpoint_by_flush(tenant_id, ls_id, backup_clog_checkpoint_scn, ls))) {
......
......@@ -1762,7 +1762,8 @@ int ObBackupTabletProvider::get_tablet_skipped_type_(const uint64_t tenant_id, c
} else if (1 == tablet_count) {
if (tmp_ls_id == ls_id.id()) {
ret = OB_ERR_UNEXPECTED;
LOG_INFO("tablet not exist, but __all_tablet_to_ls still exist", K(tmp_ls_id));
LOG_WARN("tablet not exist, but __all_tablet_to_ls still exist",
K(ret), K(tenant_id), K(ls_id), K(tablet_id));
} else {
skipped_type = ObBackupSkippedType(ObBackupSkippedType::TRANSFER);
LOG_INFO("tablet transfered, need change turn", K(ls_id));
......
......@@ -2915,6 +2915,12 @@ int ObDataTabletsMigrationTask::process()
int tmp_ret = OB_SUCCESS;
bool is_ls_online_success = false;
LOG_INFO("start do data tablets migration task", K(ret), KPC(ctx_));
#ifdef ERRSIM
SERVER_EVENT_SYNC_ADD("storage_ha", "before_data_tablets_migration_task",
"tenant_id", ctx_->tenant_id_,
"ls_id", ctx_->arg_.ls_id_.id());
#endif
DEBUG_SYNC(BEFORE_DATA_TABLETS_MIGRATION_TASK);
if (!is_inited_) {
ret = OB_NOT_INIT;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册