Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
oceanbase
oceanbase
提交
051060c8
O
oceanbase
项目概览
oceanbase
/
oceanbase
9 个月 前同步成功
通知
261
Star
6084
Fork
1301
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
051060c8
编写于
12月 06, 2022
作者:
qq_43633081
提交者:
OB-robot
12月 06, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CP] using KPC to avoid core
上级
366ee771
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
88 addition
and
88 deletion
+88
-88
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
+25
-25
src/rootserver/backup/ob_backup_data_scheduler.cpp
src/rootserver/backup/ob_backup_data_scheduler.cpp
+44
-44
src/rootserver/backup/ob_backup_data_set_task_mgr.cpp
src/rootserver/backup/ob_backup_data_set_task_mgr.cpp
+19
-19
未找到文件。
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
浏览文件 @
051060c8
...
...
@@ -84,11 +84,11 @@ int ObBackupDataLSTaskMgr::process(int64_t &finish_cnt)
ret
=
OB_NOT_INIT
;
LOG_WARN
(
"[DATA_BACKUP]not init"
,
K
(
ret
));
}
else
{
FLOG_INFO
(
"[DATA_BACKUP]schedule backup ls task"
,
K
(
*
ls_attr_
));
FLOG_INFO
(
"[DATA_BACKUP]schedule backup ls task"
,
K
PC
(
ls_attr_
));
switch
(
ls_attr_
->
status_
.
status_
)
{
case
ObBackupTaskStatus
::
Status
::
INIT
:
{
if
(
OB_FAIL
(
gen_and_add_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add task into task schedulers"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add task into task schedulers"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
...
...
@@ -97,13 +97,13 @@ int ObBackupDataLSTaskMgr::process(int64_t &finish_cnt)
break
;
case
ObBackupTaskStatus
::
Status
::
FINISH
:
{
if
(
OB_FAIL
(
finish_
(
finish_cnt
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to finish task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to finish task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
default:
{
ret
=
OB_ERR_SYS
;
LOG_ERROR
(
"[DATA_BACKUP]unknown backup task status"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_ERROR
(
"[DATA_BACKUP]unknown backup task status"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
}
}
...
...
@@ -127,31 +127,31 @@ int ObBackupDataLSTaskMgr::gen_and_add_task_()
#endif
}
if
(
OB_FAIL
(
gen_and_add_backup_data_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add backup data task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add backup data task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
case
ObBackupDataTaskType
::
Type
::
BACKUP_PLUS_ARCHIVE_LOG
:
{
if
(
OB_FAIL
(
gen_and_add_backup_compl_log_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add backup complement task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add backup complement task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
case
ObBackupDataTaskType
::
Type
::
BACKUP_BUILD_INDEX
:
{
if
(
OB_FAIL
(
gen_and_add_build_index_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add build index task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add build index task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
case
ObBackupDataTaskType
::
Type
::
BACKUP_META
:
{
if
(
OB_FAIL
(
gen_and_add_backup_meta_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add build index task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to gen and add build index task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
break
;
}
default:
{
ret
=
OB_ERR_SYS
;
LOG_ERROR
(
"[DATA_BACKUP]unknown backup ls task type"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_ERROR
(
"[DATA_BACKUP]unknown backup ls task type"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
}
return
ret
;
...
...
@@ -194,11 +194,11 @@ int ObBackupDataLSTaskMgr::gen_and_add_backup_meta_task_()
LOG_WARN
(
"fail to advance ls task status to finish"
,
K
(
ret
));
}
}
else
if
(
OB_FAIL
(
task
.
build
(
*
job_attr_
,
*
set_task_attr_
,
*
ls_attr_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
*
set_task_attr_
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
PC
(
job_attr_
),
KPC
(
set_task_attr_
),
KPC
(
ls_attr_
));
}
else
if
(
OB_FAIL
(
advance_status
(
*
lease_service_
,
*
sql_proxy_
,
*
ls_attr_
,
next_status
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
(
*
ls_attr_
),
K
(
next_status
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
PC
(
ls_attr_
),
K
(
next_status
));
}
else
if
(
OB_FAIL
(
task_scheduler_
->
add_task
(
task
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
task
));
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
task
));
}
return
ret
;
}
...
...
@@ -221,11 +221,11 @@ int ObBackupDataLSTaskMgr::gen_and_add_backup_data_task_()
LOG_WARN
(
"fail to advance ls task status to finish"
,
K
(
ret
));
}
}
else
if
(
OB_FAIL
(
task
.
build
(
*
job_attr_
,
*
set_task_attr_
,
*
ls_attr_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
*
set_task_attr_
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
PC
(
job_attr_
),
KPC
(
set_task_attr_
),
KPC
(
ls_attr_
));
}
else
if
(
OB_FAIL
(
advance_status
(
*
lease_service_
,
*
sql_proxy_
,
*
ls_attr_
,
next_status
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
(
*
ls_attr_
),
K
(
next_status
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
PC
(
ls_attr_
),
K
(
next_status
));
}
else
if
(
OB_FAIL
(
task_scheduler_
->
add_task
(
task
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
task
));
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
task
));
}
return
ret
;
}
...
...
@@ -239,11 +239,11 @@ int ObBackupDataLSTaskMgr::gen_and_add_backup_compl_log_()
ObBackupTaskStatus
next_status
;
next_status
.
status_
=
ObBackupTaskStatus
::
Status
::
PENDING
;
if
(
OB_FAIL
(
task
.
build
(
*
job_attr_
,
*
set_task_attr_
,
*
ls_attr_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
*
set_task_attr_
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
PC
(
job_attr_
),
KPC
(
set_task_attr_
),
KPC
(
ls_attr_
));
}
else
if
(
OB_FAIL
(
advance_status
(
*
lease_service_
,
*
sql_proxy_
,
*
ls_attr_
,
next_status
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
(
*
ls_attr_
),
K
(
next_status
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
PC
(
ls_attr_
),
K
(
next_status
));
}
else
if
(
OB_FAIL
(
task_scheduler_
->
add_task
(
task
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
return
ret
;
}
...
...
@@ -257,11 +257,11 @@ int ObBackupDataLSTaskMgr::gen_and_add_build_index_task_()
ObBackupTaskStatus
next_status
;
next_status
.
status_
=
ObBackupTaskStatus
::
Status
::
PENDING
;
if
(
OB_FAIL
(
task
.
build
(
*
job_attr_
,
*
set_task_attr_
,
*
ls_attr_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
*
set_task_attr_
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to build task"
,
K
(
ret
),
K
PC
(
job_attr_
),
KPC
(
set_task_attr_
),
KPC
(
ls_attr_
));
}
else
if
(
OB_FAIL
(
advance_status
(
*
lease_service_
,
*
sql_proxy_
,
*
ls_attr_
,
next_status
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
(
*
ls_attr_
),
K
(
next_status
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance task status"
,
K
(
ret
),
K
PC
(
ls_attr_
),
K
(
next_status
));
}
else
if
(
OB_FAIL
(
task_scheduler_
->
add_task
(
task
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to add task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
return
ret
;
}
...
...
@@ -396,7 +396,7 @@ int ObBackupDataLSTaskMgr::finish_(int64_t &finish_cnt)
}
else
{
if
(
OB_FAIL
(
redo_ls_task
(
*
lease_service_
,
trans
,
*
ls_attr_
,
ls_attr_
->
start_turn_id_
,
ls_attr_
->
turn_id_
,
next_retry_id
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to redo ls task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to redo ls task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
if
(
OB_SUCC
(
ret
))
{
if
(
OB_FAIL
(
trans
.
end
(
true
)))
{
...
...
@@ -415,7 +415,7 @@ int ObBackupDataLSTaskMgr::finish_(int64_t &finish_cnt)
}
}
else
{
ret
=
ls_attr_
->
result_
;
LOG_WARN
(
"ls task failed, backup can't not continue"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"ls task failed, backup can't not continue"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
}
return
ret
;
...
...
@@ -491,13 +491,13 @@ int ObBackupDataLSTaskMgr::cancel(int64_t &finish_cnt)
if
(
ret
==
OB_ENTRY_NOT_EXIST
)
{
ret
=
OB_SUCCESS
;
}
else
{
LOG_WARN
(
"[DATA_BACKUP]failed to cancel task"
,
K
(
ret
),
K
(
*
ls_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to cancel task"
,
K
(
ret
),
K
PC
(
ls_attr_
));
}
}
}
if
(
OB_FAIL
(
ret
))
{
}
else
if
(
OB_FAIL
(
advance_status
(
*
lease_service_
,
*
sql_proxy_
,
*
ls_attr_
,
next_status
,
OB_CANCELED
,
end_ts
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance status"
,
K
(
ret
),
K
(
*
ls_attr_
),
K
(
next_status
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance status"
,
K
(
ret
),
K
PC
(
ls_attr_
),
K
(
next_status
));
}
else
{
++
finish_cnt
;
}
...
...
src/rootserver/backup/ob_backup_data_scheduler.cpp
浏览文件 @
051060c8
...
...
@@ -153,7 +153,7 @@ int ObBackupDataScheduler::do_get_need_reload_task_(
}
else
if
(
ObBackupTaskStatus
::
Status
::
PENDING
==
ls_task
.
status_
.
status_
||
ObBackupTaskStatus
::
Status
::
DOING
==
ls_task
.
status_
.
status_
)
{
if
(
OB_FAIL
(
tasks
.
push_back
(
task
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to push back task"
,
K
(
ret
),
K
(
*
task
));
LOG_WARN
(
"[DATA_BACKUP]failed to push back task"
,
K
(
ret
),
K
PC
(
task
));
}
}
}
...
...
@@ -828,7 +828,7 @@ int ObBackupDataScheduler::handle_execute_over(
LOG_WARN
(
"[DATA_BACKUP]failed to start trans"
,
K
(
ret
));
}
else
{
if
(
OB_FAIL
(
ObBackupLSTaskOperator
::
get_ls_task
(
trans
,
true
/*for update*/
,
task
->
get_task_id
(),
task
->
get_tenant_id
(),
ls_id
,
ls_attr
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get log stream task"
,
K
(
ret
),
K
(
*
task
));
LOG_WARN
(
"[DATA_BACKUP]failed to get log stream task"
,
K
(
ret
),
K
PC
(
task
));
}
else
if
(
OB_FAIL
(
ObBackupDataLSTaskMgr
::
statistic_info
(
*
lease_service_
,
trans
,
ls_attr
)))
{
// TODO: delete this when observer support the function that backup progress statistics
LOG_WARN
(
"[DATA_BACKUP]failed to update statistic infomation of ls task"
,
K
(
ret
),
K
(
ls_attr
));
...
...
@@ -1025,12 +1025,12 @@ int ObUserTenantBackupJobMgr::deal_non_reentrant_job(const int err)
job_attr_
->
end_ts_
=
ObTimeUtility
::
current_time
();
bool
is_exist_set_task
=
true
;
bool
is_start
=
false
;
LOG_INFO
(
"start to deal non reentrant job"
,
K
(
*
job_attr_
),
KP
(
err
));
LOG_INFO
(
"start to deal non reentrant job"
,
K
PC
(
job_attr_
),
KP
(
err
));
if
(
IS_NOT_INIT
)
{
ret
=
OB_INVALID_ARGUMENT
;
LOG_WARN
(
"[DATA_BACKUP]not init"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
task_scheduler_
->
cancel_tasks
(
BackupJobType
::
BACKUP_DATA_JOB
,
job_attr_
->
job_id_
,
job_attr_
->
tenant_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup tasks"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup tasks"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
ObBackupStatus
::
Status
::
INIT
==
job_attr_
->
status_
.
status_
)
{
if
(
OB_FAIL
(
advance_job_status
(
*
sql_proxy_
,
next_status
,
err
,
job_attr_
->
end_ts_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job status to FAILED"
,
K
(
ret
),
KPC
(
job_attr_
));
...
...
@@ -1049,7 +1049,7 @@ int ObUserTenantBackupJobMgr::deal_non_reentrant_job(const int err)
if
(
OB_FAIL
(
set_task_mgr
.
deal_failed_set_task
(
trans
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to deal failed set task"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
advance_job_status
(
trans
,
next_status
,
err
,
job_attr_
->
end_ts_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job status to FAILED"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to move job status to FAILED"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
if
(
OB_SUCC
(
ret
))
{
if
(
OB_FAIL
(
trans
.
end
(
true
)))
{
...
...
@@ -1089,13 +1089,13 @@ int ObUserTenantBackupJobMgr::process()
if
(
OB_FAIL
(
check_dest_validity_
()))
{
LOG_WARN
(
"[DATA_BACKUP]fail to check dest validity"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
persist_set_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to persist log stream task"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to persist log stream task"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
case
ObBackupStatus
::
Status
::
DOING
:
{
if
(
OB_FAIL
(
do_set_task_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to backup data"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to backup data"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
...
...
@@ -1103,19 +1103,19 @@ int ObUserTenantBackupJobMgr::process()
case
ObBackupStatus
::
Status
::
FAILED
:
case
ObBackupStatus
::
Status
::
CANCELED
:
{
if
(
OB_FAIL
(
move_to_history_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job and set to histroy"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to move job and set to histroy"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
case
ObBackupStatus
::
Status
::
CANCELING
:
{
if
(
OB_FAIL
(
cancel_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
default:
{
ret
=
OB_ERR_SYS
;
LOG_ERROR
(
"[DATA_BACKUP]unknown backup status"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_ERROR
(
"[DATA_BACKUP]unknown backup status"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
}
}
...
...
@@ -1151,7 +1151,7 @@ int ObUserTenantBackupJobMgr::move_to_history_()
ObMySQLTransaction
trans
;
ObBackupSetTaskMgr
set_task_mgr
;
if
(
is_sys_tenant
(
job_attr_
->
initiator_tenant_id_
)
&&
OB_FAIL
(
report_failed_to_initiator_
()))
{
LOG_WARN
(
"fail to report job finish to initiator tenant id"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"fail to report job finish to initiator tenant id"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
trans
.
start
(
sql_proxy_
,
tenant_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to start trans"
,
K
(
ret
));
}
else
{
...
...
@@ -1160,7 +1160,7 @@ int ObUserTenantBackupJobMgr::move_to_history_()
if
(
OB_ENTRY_NOT_EXIST
==
ret
)
{
// when job was canceled in INIT STATUS, there are no set task in task table.
ret
=
OB_SUCCESS
;
}
else
{
LOG_WARN
(
"[DATA_BACKUP]failed to init set task mgr"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to init set task mgr"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
}
else
if
(
OB_FAIL
(
set_task_mgr
.
do_clean_up
(
trans
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to do clean up"
,
K
(
ret
),
K
(
set_task_mgr
));
...
...
@@ -1168,7 +1168,7 @@ int ObUserTenantBackupJobMgr::move_to_history_()
if
(
OB_FAIL
(
ret
))
{
}
else
if
(
OB_FAIL
(
ObBackupJobOperator
::
move_job_to_his
(
trans
,
job_attr_
->
tenant_id_
,
job_attr_
->
job_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job to history"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to move job to history"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
if
(
OB_SUCC
(
ret
))
{
...
...
@@ -1248,7 +1248,7 @@ int ObUserTenantBackupJobMgr::cancel_()
int
ret
=
OB_SUCCESS
;
ObBackupSetTaskMgr
set_task_mgr
;
if
(
OB_FAIL
(
check_can_backup_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
update_set_task_to_canceling_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to update set task to canceling"
,
K
(
ret
));
}
else
{
...
...
@@ -1259,7 +1259,7 @@ int ObUserTenantBackupJobMgr::cancel_()
is_set_task_exist
=
false
;
ret
=
OB_SUCCESS
;
}
else
{
LOG_WARN
(
"[DATA_BACKUP]failed to init set task mgr"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to init set task mgr"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
}
else
if
(
OB_FAIL
(
set_task_mgr
.
process
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to persist ls task"
,
K
(
ret
),
K
(
set_task_mgr
));
...
...
@@ -1272,7 +1272,7 @@ int ObUserTenantBackupJobMgr::cancel_()
if
(
OB_FAIL
(
advance_job_status
(
*
sql_proxy_
,
next_status
,
OB_CANCELED
,
job_attr_
->
end_ts_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance_job_status"
,
K
(
ret
));
}
else
{
LOG_INFO
(
"succeed to cancel job, advance job status to CANCELED"
,
K
(
*
job_attr_
));
LOG_INFO
(
"succeed to cancel job, advance job status to CANCELED"
,
K
PC
(
job_attr_
));
}
}
}
...
...
@@ -1306,7 +1306,7 @@ int ObUserTenantBackupJobMgr::update_set_task_to_canceling_()
ret
=
OB_ERR_UNEXPECTED
;
LOG_ERROR
(
"[DATA_BACKUP]invalid affected_rows"
,
K
(
ret
),
K
(
affected_rows
),
K
(
sql
),
K
(
next_status
));
}
else
{
LOG_INFO
(
"[DATA_BACKUP]advance set task status"
,
K
(
*
job_attr_
),
K
(
next_status
),
K
(
sql
));
LOG_INFO
(
"[DATA_BACKUP]advance set task status"
,
K
PC
(
job_attr_
),
K
(
next_status
),
K
(
sql
));
}
return
ret
;
}
...
...
@@ -1316,7 +1316,7 @@ int ObUserTenantBackupJobMgr::do_set_task_()
int
ret
=
OB_SUCCESS
;
LOG_INFO
(
"job is in doing backup set task"
,
KPC
(
job_attr_
));
if
(
OB_FAIL
(
check_can_backup_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
{
ObBackupStatus
next_status
;
ObBackupSetTaskMgr
set_task_mgr
;
...
...
@@ -1330,7 +1330,7 @@ int ObUserTenantBackupJobMgr::do_set_task_()
||
ObBackupStatus
::
Status
::
FAILED
==
next_status
.
status_
)
{
job_attr_
->
end_ts_
=
ObTimeUtility
::
current_time
();
if
(
OB_FAIL
(
advance_job_status
(
*
sql_proxy_
,
next_status
,
job_attr_
->
result_
,
job_attr_
->
end_ts_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance status"
,
K
(
ret
),
K
(
next_status
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance status"
,
K
(
ret
),
K
(
next_status
),
K
PC
(
job_attr_
));
}
else
{
LOG_INFO
(
"[DATA_BACKUP]succeed doing backup set task, and advancing job status to next status"
,
K
(
next_status
),
"tenant_id"
,
job_attr_
->
tenant_id_
,
"job_id"
,
job_attr_
->
job_id_
);
...
...
@@ -1347,15 +1347,15 @@ int ObUserTenantBackupJobMgr::persist_set_task_()
ObMySQLTransaction
trans
;
LOG_INFO
(
"start to persist set task"
,
KPC
(
job_attr_
));
if
(
OB_FAIL
(
check_can_backup_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to check can backup"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
trans
.
start
(
sql_proxy_
,
tenant_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to start trans"
,
K
(
ret
));
}
else
{
ObBackupStatus
next_status
(
ObBackupStatus
::
Status
::
DOING
);
if
(
OB_FAIL
(
insert_backup_set_task_
(
trans
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to insert backup set task"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to insert backup set task"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
insert_backup_set_file_
(
trans
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to insert backup set file"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to insert backup set file"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
advance_job_status
(
trans
,
next_status
)))
{
LOG_WARN
(
"fail to advance job status to doing"
,
K
(
ret
),
KPC
(
job_attr_
));
}
...
...
@@ -1391,9 +1391,9 @@ int ObUserTenantBackupJobMgr::insert_backup_set_task_(common::ObISQLClient &sql_
int
ret
=
OB_SUCCESS
;
ObBackupSetTaskAttr
backup_set_task
;
if
(
OB_FAIL
(
backup_set_task
.
passwd_
.
assign
(
job_attr_
->
passwd_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to assign passwd"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to assign passwd"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
backup_set_task
.
backup_path_
.
assign
(
job_attr_
->
backup_path_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to assign backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to assign backup dest"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
get_next_task_id_
(
sql_proxy
,
backup_set_task
.
task_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get next task id"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObBackupDataScheduler
::
get_scn
(
sql_proxy
,
job_attr_
->
tenant_id_
,
backup_set_task
.
start_scn_
)))
{
...
...
@@ -1431,17 +1431,17 @@ int ObUserTenantBackupJobMgr::insert_backup_set_file_(common::ObISQLClient &sql_
ObBackupDest
backup_dest
;
if
(
OB_FAIL
(
ObBackupSetFileOperator
::
get_prev_backup_set_id
(
sql_proxy
,
job_attr_
->
tenant_id_
,
job_attr_
->
backup_set_id_
,
job_attr_
->
backup_type_
,
job_attr_
->
backup_path_
,
prev_full_backup_set_id
,
prev_inc_backup_set_id
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to get prev backup set id"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]fail to get prev backup set id"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_backup_dest
(
sql_proxy
,
job_attr_
->
tenant_id_
,
job_attr_
->
backup_path_
,
backup_dest
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to get backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]fail to get backup dest"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_dest_id
(
sql_proxy
,
job_attr_
->
tenant_id_
,
backup_dest
,
dest_id
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to get dest id"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]fail to get dest id"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
fill_backup_set_desc_
(
*
job_attr_
,
prev_full_backup_set_id
,
prev_inc_backup_set_id
,
dest_id
,
backup_set_desc
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to fill backup set desc"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
prev_full_backup_set_id
),
K
(
prev_inc_backup_set_id
));
LOG_WARN
(
"[DATA_BACKUP]fail to fill backup set desc"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
prev_full_backup_set_id
),
K
(
prev_inc_backup_set_id
));
}
else
if
(
OB_FAIL
(
lease_service_
->
check_lease
()))
{
LOG_WARN
(
"fail to check leader"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObBackupSetFileOperator
::
insert_backup_set_file
(
sql_proxy
,
backup_set_desc
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to insert backup set file"
,
K
(
ret
),
K
(
backup_set_desc
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]fail to insert backup set file"
,
K
(
ret
),
K
(
backup_set_desc
),
K
PC
(
job_attr_
));
}
return
ret
;
}
...
...
@@ -1510,7 +1510,7 @@ int ObUserTenantBackupJobMgr::advance_job_status(
if
(
OB_FAIL
(
lease_service_
->
check_lease
()))
{
LOG_WARN
(
"fail to check leader"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObBackupJobOperator
::
advance_job_status
(
trans
,
*
job_attr_
,
next_status
,
result
,
end_ts
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance job status"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
next_status
),
K
(
result
),
K
(
end_ts
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance job status"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
next_status
),
K
(
result
),
K
(
end_ts
));
}
return
ret
;
}
...
...
@@ -1536,7 +1536,7 @@ int ObSysTenantBackupJobMgr::process()
}
case
ObBackupStatus
::
Status
::
DOING
:
{
if
(
OB_FAIL
(
statistic_user_tenant_job_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to backup data"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to backup data"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
...
...
@@ -1544,19 +1544,19 @@ int ObSysTenantBackupJobMgr::process()
case
ObBackupStatus
::
Status
::
FAILED
:
case
ObBackupStatus
::
Status
::
CANCELED
:
{
if
(
OB_FAIL
(
move_to_history_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job to histroy"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to move job to histroy"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
case
ObBackupStatus
::
Status
::
CANCELING
:
{
if
(
OB_FAIL
(
cancel_user_tenant_job_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup job"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to cancel backup job"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
break
;
}
default:
{
ret
=
OB_ERR_SYS
;
LOG_ERROR
(
"[DATA_BACKUP]unknown backup status"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_ERROR
(
"[DATA_BACKUP]unknown backup status"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
}
}
...
...
@@ -1593,10 +1593,10 @@ int ObSysTenantBackupJobMgr::handle_user_tenant_backupdatabase_()
if
(
OB_SUCC
(
ret
))
{
ObBackupStatus
next_status
(
ObBackupStatus
::
Status
::
DOING
);
if
(
OB_FAIL
(
advance_status_
(
*
sql_proxy_
,
next_status
)))
{
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
next_status
));
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
next_status
));
}
else
{
backup_service_
->
wakeup
();
LOG_INFO
(
"succeed handle user tenant backupdatabase, advance sys job to DOING"
,
K
(
*
job_attr_
),
K
(
next_status
));
LOG_INFO
(
"succeed handle user tenant backupdatabase, advance sys job to DOING"
,
K
PC
(
job_attr_
),
K
(
next_status
));
}
}
return
ret
;
...
...
@@ -1647,7 +1647,7 @@ int ObSysTenantBackupJobMgr::statistic_user_tenant_job_()
bool
is_valid
=
false
;
int64_t
finish_user_backup_job
=
0
;
ObBackupJobAttr
tmp_job_attr
;
LOG_INFO
(
"sys tenant start to statistic user tenant job"
,
K
(
*
job_attr_
));
LOG_INFO
(
"sys tenant start to statistic user tenant job"
,
K
PC
(
job_attr_
));
for
(
int64_t
i
=
0
;
OB_SUCC
(
ret
)
&&
i
<
job_attr_
->
executor_tenant_id_
.
count
();
++
i
)
{
const
uint64_t
user_tenant_id
=
job_attr_
->
executor_tenant_id_
.
at
(
i
);
is_valid
=
false
;
...
...
@@ -1683,9 +1683,9 @@ int ObSysTenantBackupJobMgr::statistic_user_tenant_job_()
}
if
(
OB_SUCC
(
ret
))
{
if
(
OB_FAIL
(
advance_status_
(
*
sql_proxy_
,
next_status
,
tmp_job_attr
.
result_
,
ObTimeUtility
::
current_time
())))
{
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
next_status
));
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
next_status
));
}
else
{
LOG_INFO
(
"[DATA_BACKUP]user job finished, sys job move to next status"
,
K
(
next_status
),
K
(
*
job_attr_
));
LOG_INFO
(
"[DATA_BACKUP]user job finished, sys job move to next status"
,
K
(
next_status
),
K
PC
(
job_attr_
));
}
}
}
...
...
@@ -1698,9 +1698,9 @@ int ObSysTenantBackupJobMgr::move_to_history_()
if
(
OB_FAIL
(
lease_service_
->
check_lease
()))
{
LOG_WARN
(
"fail to check leader"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObBackupJobOperator
::
move_job_to_his
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
job_attr_
->
job_id_
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to move job to history table"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to move job to history table"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
{
LOG_INFO
(
"sys tenant backup job succeed move to history table"
,
K
(
*
job_attr_
));
LOG_INFO
(
"sys tenant backup job succeed move to history table"
,
K
PC
(
job_attr_
));
}
return
ret
;
}
...
...
@@ -1745,9 +1745,9 @@ int ObSysTenantBackupJobMgr::cancel_user_tenant_job_()
ObBackupStatus
next_status
(
ObBackupStatus
::
Status
::
CANCELED
);
if
(
OB_SUCC
(
ret
))
{
if
(
OB_FAIL
(
advance_status_
(
*
sql_proxy_
,
next_status
,
OB_CANCELED
,
ObTimeUtility
::
current_time
())))
{
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
next_status
));
LOG_WARN
(
"fail to advance sys job status"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
next_status
));
}
else
{
FLOG_INFO
(
"[DATA_BACKUP]succeed schedule sys backup job"
,
K
(
*
job_attr_
));
FLOG_INFO
(
"[DATA_BACKUP]succeed schedule sys backup job"
,
K
PC
(
job_attr_
));
}
}
}
...
...
@@ -1764,7 +1764,7 @@ int ObSysTenantBackupJobMgr::advance_status_(
if
(
OB_FAIL
(
lease_service_
->
check_lease
()))
{
LOG_WARN
(
"fail to check leader"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
ObBackupJobOperator
::
advance_job_status
(
sql_proxy
,
*
job_attr_
,
next_status
,
result
,
end_ts
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to advance job status"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
next_status
),
K
(
result
),
K
(
end_ts
));
LOG_WARN
(
"[DATA_BACKUP]failed to advance job status"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
next_status
),
K
(
result
),
K
(
end_ts
));
}
return
ret
;
}
...
...
src/rootserver/backup/ob_backup_data_set_task_mgr.cpp
浏览文件 @
051060c8
...
...
@@ -85,7 +85,7 @@ int ObBackupSetTaskMgr::init(
desc
.
backup_type_
=
job_attr
.
backup_type_
;
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_backup_dest
(
sql_proxy
,
job_attr
.
tenant_id_
,
job_attr
.
backup_path_
,
backup_dest
)))
{
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
(
job_attr
));
}
else
if
(
OB_FAIL
(
store_
.
init
(
backup_dest
,
desc
)))
{
LOG_WARN
(
"fail to init backup data store"
,
K
(
ret
));
}
...
...
@@ -198,7 +198,7 @@ int ObBackupSetTaskMgr::persist_sys_ls_task_()
if
(
OB_FAIL
(
ret
))
{
}
else
if
(
OB_FAIL
(
write_backup_set_placeholder
(
true
/*start*/
)))
{
LOG_WARN
(
"fail to write backup set start placeholder"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"fail to write backup set start placeholder"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
trans_
.
start
(
sql_proxy_
,
meta_tenant_id_
)))
{
LOG_WARN
(
"fail to start trans"
,
K
(
ret
),
K
(
meta_tenant_id_
));
}
else
{
...
...
@@ -357,7 +357,7 @@ int ObBackupSetTaskMgr::backup_sys_meta_()
}
else
{
share
::
ObBackupDataTaskType
type
(
share
::
ObBackupDataTaskType
::
Type
::
BACKUP_META
);
if
(
OB_FAIL
(
generate_ls_tasks_
(
ls_ids
,
type
)))
{
LOG_WARN
(
"failed to generate log stream tasks"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
ls_ids
));
LOG_WARN
(
"failed to generate log stream tasks"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
ls_ids
));
}
else
if
(
OB_FAIL
(
advance_status_
(
trans_
,
next_status_
)))
{
LOG_WARN
(
"fail to advance status"
,
K
(
ret
),
K
(
next_status_
));
}
...
...
@@ -475,7 +475,7 @@ int ObBackupSetTaskMgr::change_meta_turn_()
LOG_WARN
(
"fail to delete ls task"
,
K
(
ret
),
"tenant_id"
,
set_task_attr_
.
tenant_id_
,
"job_id"
,
set_task_attr_
.
job_id_
);
}
else
if
(
OB_FAIL
(
generate_ls_tasks_
(
ls_ids
,
type
)))
{
LOG_WARN
(
"failed to generate log stream tasks"
,
K
(
ret
),
K
(
*
job_attr_
),
K
(
ls_ids
));
LOG_WARN
(
"failed to generate log stream tasks"
,
K
(
ret
),
K
PC
(
job_attr_
),
K
(
ls_ids
));
}
else
if
(
OB_FAIL
(
ObBackupTaskOperator
::
update_meta_turn_id
(
trans_
,
set_task_attr_
.
task_id_
,
set_task_attr_
.
tenant_id_
,
next_meta_turn_id
)))
{
LOG_WARN
(
"fail to update meta turn id"
,
K
(
ret
),
K
(
set_task_attr_
));
...
...
@@ -508,7 +508,7 @@ int ObBackupSetTaskMgr::merge_ls_meta_infos_(const ObIArray<share::ObBackupLSTas
ObBackupLSMetaInfosDesc
ls_meta_infos
;
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_backup_dest
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
job_attr_
->
backup_path_
,
backup_dest
)))
{
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
{
ARRAY_FOREACH_X
(
ls_tasks
,
i
,
cnt
,
OB_SUCC
(
ret
))
{
const
ObBackupLSTaskAttr
&
ls_task_attr
=
ls_tasks
.
at
(
i
);
...
...
@@ -868,7 +868,7 @@ int ObBackupSetTaskMgr::backup_data_()
if
(
OB_FAIL
(
ObBackupDataScheduler
::
get_scn
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
end_scn
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get end ts"
,
K
(
ret
),
"tenant_id"
,
job_attr_
->
tenant_id_
);
}
else
if
(
OB_FAIL
(
build_index_
(
build_index_attr
,
set_task_attr_
.
data_turn_id_
,
set_task_attr_
.
task_id_
,
finish_build_index
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to wait build index"
,
K
(
ret
),
K
(
set_task_attr_
),
K
(
*
build_index_attr
));
LOG_WARN
(
"[DATA_BACKUP]failed to wait build index"
,
K
(
ret
),
K
(
set_task_attr_
),
K
PC
(
build_index_attr
));
}
else
if
(
!
finish_build_index
)
{
}
else
if
(
OB_FAIL
(
check_change_task_turn_
(
ls_task
,
need_change_turn
,
tablets_to_ls
,
new_ls_array
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to check change task turn"
,
K
(
ret
),
K
(
set_task_attr_
));
...
...
@@ -996,7 +996,7 @@ int ObBackupSetTaskMgr::update_inner_task_(
// TODO use another error code to determine change turn in 4.1
}
else
if
(
OB_FAIL
(
ObBackupDataLSTaskMgr
::
redo_ls_task
(
*
lease_service_
,
trans_
,
*
ls_attr
,
ls_attr
->
start_turn_id_
,
set_task_attr_
.
data_turn_id_
,
0
/*retry_id*/
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to update ls task result to success"
,
K
(
ret
),
K
(
*
ls_attr
));
LOG_WARN
(
"[DATA_BACKUP]failed to update ls task result to success"
,
K
(
ret
),
K
PC
(
ls_attr
));
}
}
ObBackupDataTaskType
type
;
...
...
@@ -1076,7 +1076,7 @@ int ObBackupSetTaskMgr::build_index_(
}
}
else
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"[DATA_BACKUP]unexpected err"
,
K
(
ret
),
K
(
*
build_index_attr
));
LOG_WARN
(
"[DATA_BACKUP]unexpected err"
,
K
(
ret
),
K
PC
(
build_index_attr
));
}
return
ret
;
}
...
...
@@ -1503,15 +1503,15 @@ int ObBackupSetTaskMgr::write_extern_infos()
(
ObExternBackupSetInfoDesc
,
backup_set_info
))
{
if
(
OB_FAIL
(
ret
))
{
}
else
if
(
OB_FAIL
(
write_extern_locality_info_
(
locality_info
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to write extern tenant locality info"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to write extern tenant locality info"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
write_backup_set_info_
(
set_task_attr_
,
backup_set_info
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to write backup set info"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to write backup set info"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
write_tenant_backup_set_infos_
()))
{
LOG_WARN
(
"[DATA_BACKUP]failed to write tenant backup set infos"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
write_extern_diagnose_info_
(
locality_info
,
backup_set_info
)))
{
//
LOG_WARN
(
"[DATA_BACKUP]failed to write extern tenant diagnose info"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to write extern tenant diagnose info"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
write_backup_set_placeholder
(
false
/*finish job*/
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to write backup set finish placeholder"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to write backup set finish placeholder"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
}
return
ret
;
...
...
@@ -1527,12 +1527,12 @@ int ObBackupSetTaskMgr::write_backup_set_info_(
ObBackupSetFileDesc
&
backup_set_file
=
backup_set_info
.
backup_set_file_
;
ObBackupDest
backup_dest
;
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_backup_dest
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
set_task_attr
.
backup_path_
,
backup_dest
)))
{
LOG_WARN
(
"[DATA_BACKUP]fail to get backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]fail to get backup dest"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_dest_id
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
backup_dest
,
dest_id
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get dest id"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to get dest id"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupSetFileOperator
::
get_backup_set_file
(
*
sql_proxy_
,
false
/*for update*/
,
job_attr_
->
backup_set_id_
,
job_attr_
->
incarnation_id_
,
job_attr_
->
tenant_id_
,
dest_id
,
backup_set_file
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get backup set"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to get backup set"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
cluster_version
!=
backup_set_file
.
tenant_compatible_
)
{
ret
=
OB_NOT_SUPPORTED
;
LOG_WARN
(
"[DATA_BACKUP]when cluster_version change, backup can't continue"
,
K
(
ret
),
K
(
cluster_version
),
K
(
backup_set_file
.
tenant_compatible_
));
...
...
@@ -1664,7 +1664,7 @@ int ObBackupSetTaskMgr::write_tenant_backup_set_infos_()
int
ret
=
OB_SUCCESS
;
share
::
ObTenantBackupSetInfosDesc
tenant_backup_set_infos
;
if
(
OB_FAIL
(
ObBackupSetFileOperator
::
get_backup_set_files
(
*
sql_proxy_
,
job_attr_
->
tenant_id_
,
tenant_backup_set_infos
)))
{
LOG_WARN
(
"[DATA_BACKUP]failed to get backup set"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"[DATA_BACKUP]failed to get backup set"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
!
tenant_backup_set_infos
.
is_valid
())
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"invalid tenant backup set infos"
,
K
(
ret
),
K
(
tenant_backup_set_infos
));
...
...
@@ -1686,12 +1686,12 @@ int ObBackupSetTaskMgr::set_backup_set_files_failed_(ObMySQLTransaction &trans)
ObBackupSetFileDesc
backup_set_file
;
ObBackupDest
backup_dest
;
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_backup_dest
(
trans
,
job_attr_
->
tenant_id_
,
set_task_attr_
.
backup_path_
,
backup_dest
)))
{
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"fail to get backup dest"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupStorageInfoOperator
::
get_dest_id
(
trans
,
job_attr_
->
tenant_id_
,
backup_dest
,
dest_id
)))
{
LOG_WARN
(
"failed to get dest id"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"failed to get dest id"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
if
(
OB_FAIL
(
ObBackupSetFileOperator
::
get_backup_set_file
(
trans
,
true
/*for update*/
,
job_attr_
->
backup_set_id_
,
job_attr_
->
incarnation_id_
,
job_attr_
->
tenant_id_
,
dest_id
,
backup_set_file
)))
{
LOG_WARN
(
"failed to get backup set"
,
K
(
ret
),
K
(
*
job_attr_
));
LOG_WARN
(
"failed to get backup set"
,
K
(
ret
),
K
PC
(
job_attr_
));
}
else
{
backup_set_file
.
backup_set_id_
=
job_attr_
->
backup_set_id_
;
backup_set_file
.
incarnation_
=
job_attr_
->
incarnation_id_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录