Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
野花太放肆
oceanbase
提交
5d5bdf2d
O
oceanbase
项目概览
野花太放肆
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
1
Fork
0
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
5d5bdf2d
编写于
2月 14, 2023
作者:
O
oceanoverflow
提交者:
ob-robot
2月 14, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix backup get skipped report report -4016 issue
上级
4def282e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
23 addition
and
4 deletion
+23
-4
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
+3
-1
src/share/ob_debug_sync_point.h
src/share/ob_debug_sync_point.h
+1
-0
src/storage/backup/ob_backup_task.cpp
src/storage/backup/ob_backup_task.cpp
+11
-2
src/storage/backup/ob_backup_utils.cpp
src/storage/backup/ob_backup_utils.cpp
+2
-1
src/storage/high_availability/ob_ls_migration.cpp
src/storage/high_availability/ob_ls_migration.cpp
+6
-0
未找到文件。
src/rootserver/backup/ob_backup_data_ls_task_mgr.cpp
浏览文件 @
5d5bdf2d
...
...
@@ -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
}
...
...
src/share/ob_debug_sync_point.h
浏览文件 @
5d5bdf2d
...
...
@@ -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
);
...
...
src/storage/backup/ob_backup_task.cpp
浏览文件 @
5d5bdf2d
...
...
@@ -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
)))
{
...
...
src/storage/backup/ob_backup_utils.cpp
浏览文件 @
5d5bdf2d
...
...
@@ -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
));
...
...
src/storage/high_availability/ob_ls_migration.cpp
浏览文件 @
5d5bdf2d
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录