Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
野花太放肆
oceanbase
提交
610919b6
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,体验更适合开发者的 AI 搜索 >>
提交
610919b6
编写于
11月 14, 2022
作者:
qq_43633081
提交者:
wangzelin.wzl
11月 14, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ls inner handler didn't enable when migrate from src ls which's restore status is restore_sys
上级
715aa49d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
37 addition
and
22 deletion
+37
-22
src/rootserver/backup/ob_backup_data_scheduler.cpp
src/rootserver/backup/ob_backup_data_scheduler.cpp
+17
-13
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
+9
-9
src/storage/high_availability/ob_ls_migration.cpp
src/storage/high_availability/ob_ls_migration.cpp
+9
-0
src/storage/ls/ob_ls.h
src/storage/ls/ob_ls.h
+2
-0
未找到文件。
src/rootserver/backup/ob_backup_data_scheduler.cpp
浏览文件 @
610919b6
...
...
@@ -1219,21 +1219,25 @@ int ObUserTenantBackupJobMgr::report_failed_to_initiator_()
int
ObUserTenantBackupJobMgr
::
check_can_backup_
()
{
int
ret
=
OB_SUCCESS
;
ObTenantArchiveRoundAttr
round_attr
;
if
(
OB_FAIL
(
ObTenantArchiveMgr
::
get_tenant_current_round
(
job_attr_
->
tenant_id_
,
job_attr_
->
incarnation_id_
,
round_attr
)))
{
if
(
OB_ENTRY_NOT_EXIST
==
ret
)
{
ret
=
OB_LOG_ARCHIVE_NOT_RUNNING
;
if
(
share
::
ObBackupStatus
::
CANCELING
==
job_attr_
->
status_
.
status_
)
{
// backup job is canceling, no need to check log archive status
}
else
{
ObTenantArchiveRoundAttr
round_attr
;
if
(
OB_FAIL
(
ObTenantArchiveMgr
::
get_tenant_current_round
(
job_attr_
->
tenant_id_
,
job_attr_
->
incarnation_id_
,
round_attr
)))
{
if
(
OB_ENTRY_NOT_EXIST
==
ret
)
{
ret
=
OB_LOG_ARCHIVE_NOT_RUNNING
;
LOG_WARN
(
"[DATA_BACKUP]not supported backup when log archive is not doing"
,
K
(
ret
),
K
(
round_attr
));
}
else
{
LOG_WARN
(
"failed to get cur log archive round"
,
K
(
ret
),
K
(
round_attr
));
}
}
else
if
(
ObArchiveRoundState
::
Status
::
DOING
!=
round_attr
.
state_
.
status_
)
{
if
(
ObArchiveRoundState
::
Status
::
INTERRUPTED
==
round_attr
.
state_
.
status_
)
{
ret
=
OB_LOG_ARCHIVE_INTERRUPTED
;
}
else
{
ret
=
OB_LOG_ARCHIVE_NOT_RUNNING
;
}
LOG_WARN
(
"[DATA_BACKUP]not supported backup when log archive is not doing"
,
K
(
ret
),
K
(
round_attr
));
}
else
{
LOG_WARN
(
"failed to get cur log archive round"
,
K
(
ret
),
K
(
round_attr
));
}
}
else
if
(
ObArchiveRoundState
::
Status
::
DOING
!=
round_attr
.
state_
.
status_
)
{
if
(
ObArchiveRoundState
::
Status
::
INTERRUPTED
==
round_attr
.
state_
.
status_
)
{
ret
=
OB_LOG_ARCHIVE_INTERRUPTED
;
}
else
{
ret
=
OB_LOG_ARCHIVE_NOT_RUNNING
;
}
LOG_WARN
(
"[DATA_BACKUP]not supported backup when log archive is not doing"
,
K
(
ret
),
K
(
round_attr
));
}
return
ret
;
}
...
...
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
浏览文件 @
610919b6
...
...
@@ -46,9 +46,9 @@ int ObExprToOutfileRow::calc_result_typeN(ObExprResType &type,
//objs[2] closed_cht char
//objs[3] is_optional bool
//objs[4] escaped_cht char
//objs[5:] params
int
ret
=
OB_SUCCESS
;
UNUSED
(
type_ctx
);
//objs[5:] params
int
ret
=
OB_SUCCESS
;
UNUSED
(
type_ctx
);
if
(
OB_UNLIKELY
(
param_num
<=
PARAM_SELECT_ITEM
))
{
ret
=
OB_INVALID_ARGUMENT_NUM
;
LOG_WARN
(
"invalid argument number"
,
K
(
ret
),
K
(
param_num
));
...
...
@@ -87,9 +87,9 @@ int ObExprToOutfileRow::cg_expr(ObExprCGCtx &, const ObRawExpr &, ObExpr &expr)
}
}
expr
.
eval_func_
=
&
to_outfile_str
;
}
return
ret
;
}
}
return
ret
;
}
int
ObExprToOutfileRow
::
extend_buffer
(
ObExprOutFileInfo
&
out_info
,
ObIAllocator
&
allocator
)
...
...
@@ -163,9 +163,9 @@ int ObExprToOutfileRow::to_outfile_str(const ObExpr &expr, ObEvalCtx &ctx, ObDat
auto
rt_ctx_id
=
static_cast
<
uint64_t
>
(
expr
.
expr_ctx_id_
);
if
(
NULL
==
(
out_info
=
static_cast
<
ObExprOutFileInfo
*>
(
ctx
.
exec_ctx_
.
get_expr_op_ctx
(
rt_ctx_id
))))
{
if
(
OB_FAIL
(
ctx
.
exec_ctx_
.
create_expr_op_ctx
(
rt_ctx_id
,
out_info
)))
{
LOG_WARN
(
"failed to create operator ctx"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
calc_outfile_info
(
expr
,
ctx
,
if
(
OB_FAIL
(
ctx
.
exec_ctx_
.
create_expr_op_ctx
(
rt_ctx_id
,
out_info
)))
{
LOG_WARN
(
"failed to create operator ctx"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
calc_outfile_info
(
expr
,
ctx
,
ctx
.
exec_ctx_
.
get_allocator
(),
*
out_info
)))
{
LOG_WARN
(
"fail calc outfile info"
,
K
(
ret
));
}
...
...
src/storage/high_availability/ob_ls_migration.cpp
浏览文件 @
610919b6
...
...
@@ -1380,6 +1380,15 @@ int ObStartMigrationTask::deal_local_restore_ls_(bool &need_generate_dag)
}
else
if
(
ls_restore_status
.
is_restore_start
()
||
ls_restore_status
.
is_restore_sys_tablets
())
{
if
(
OB_FAIL
(
ls
->
get_log_handler
()
->
enable_sync
()))
{
LOG_WARN
(
"failed to enable log sync"
,
K
(
ret
),
KPC
(
ctx_
),
KPC
(
ls
));
}
else
if
(
OB_FAIL
(
ls
->
get_tablet_svr
()
->
online
()))
{
LOG_WARN
(
"failed to online tablet svr"
,
K
(
ret
),
KPC
(
ctx_
),
KPC
(
ls
));
}
else
if
(
OB_FAIL
(
ls
->
get_tx_svr
()
->
online
()))
{
LOG_WARN
(
"failed to online tx svr"
,
K
(
ret
),
KPC
(
ctx_
),
KPC
(
ls
));
}
else
if
(
OB_FAIL
(
ls
->
get_ddl_log_handler
()
->
online
()))
{
LOG_WARN
(
"failed to online ddl log handler"
,
K
(
ret
),
KPC
(
ctx_
),
KPC
(
ls
));
}
else
if
(
OB_FAIL
(
ls
->
get_ls_wrs_handler
()
->
online
()))
{
LOG_WARN
(
"failed to online ls wrs handler"
,
K
(
ret
),
KPC
(
ctx_
),
KPC
(
ls
));
}
else
if
(
OB_FALSE_IT
(
ls
->
get_checkpoint_executor
()
->
online
()))
{
}
else
{
need_generate_dag
=
false
;
LOG_INFO
(
"ls restore status is in restore start or in restore sys tablets, no need generate dag"
,
...
...
src/storage/ls/ob_ls.h
浏览文件 @
610919b6
...
...
@@ -206,6 +206,8 @@ public:
checkpoint
::
ObDataCheckpoint
*
get_data_checkpoint
()
{
return
&
data_checkpoint_
;
}
transaction
::
ObKeepAliveLSHandler
*
get_keep_alive_ls_handler
()
{
return
&
keep_alive_ls_handler_
;
}
ObLSRestoreHandler
*
get_ls_restore_handler
()
{
return
&
ls_restore_handler_
;
}
ObLSDDLLogHandler
*
get_ddl_log_handler
()
{
return
&
ls_ddl_log_handler_
;
}
// ObObLogHandler interface:
// get the log_service pointer
logservice
::
ObLogHandler
*
get_log_handler
()
{
return
&
log_handler_
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录