Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
oceanbase
oceanbase
提交
d41fa1f0
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 搜索 >>
提交
d41fa1f0
编写于
4月 13, 2023
作者:
H
Handora
提交者:
ob-robot
4月 13, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CP] [BUG] ignore max majority log ts update for reconfirm
上级
ab87ce24
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
13 addition
and
1 deletion
+13
-1
src/clog/ob_log_sliding_window.cpp
src/clog/ob_log_sliding_window.cpp
+7
-1
src/clog/ob_log_task.cpp
src/clog/ob_log_task.cpp
+5
-0
src/clog/ob_log_task.h
src/clog/ob_log_task.h
+1
-0
未找到文件。
src/clog/ob_log_sliding_window.cpp
浏览文件 @
d41fa1f0
...
...
@@ -3153,7 +3153,13 @@ int ObLogSlidingWindow::majority_cb(
ret
=
OB_ERR_NULL_VALUE
;
}
else
{
log_task
=
static_cast
<
ObLogTask
*>
(
log_data
);
if
(
ObLogType
::
OB_LOG_START_MEMBERSHIP
!=
log_task
->
get_log_type
())
{
if
(
ObLogType
::
OB_LOG_START_MEMBERSHIP
!=
log_task
->
get_log_type
()
// Towards to the log which reconfirmed by the new leader, it may call
// majority_cb without really replaying it which means the real log
// position may lag behind the max majority log too much and cause the
// freeze process to hang(which will check the freeze log ts is ahead
// the max majority log ts).
&&
!
log_task
->
is_empty_cb
())
{
try_update_max_majority_log
(
log_id
,
log_task
->
get_submit_timestamp
());
}
if
(
OB_FAIL
(
log_task
->
submit_log_succ_cb
(
partition_key_
,
log_id
,
batch_committed
,
batch_first_participant
)))
{
...
...
src/clog/ob_log_task.cpp
浏览文件 @
d41fa1f0
...
...
@@ -269,6 +269,11 @@ int ObLogTask::set_log_cursor_without_stat(const ObLogCursor& cursor)
return
ret
;
}
bool
ObLogTask
::
is_empty_cb
()
const
{
return
NULL
==
submit_cb_
;
}
int
ObLogTask
::
submit_log_succ_cb
(
const
common
::
ObPartitionKey
&
pkey
,
const
uint64_t
log_id
,
const
bool
batch_committed
,
const
bool
batch_first_participant
)
{
...
...
src/clog/ob_log_task.h
浏览文件 @
d41fa1f0
...
...
@@ -153,6 +153,7 @@ public:
const
ObLogCursor
&
get_log_cursor
()
const
;
bool
is_log_cursor_valid
()
const
;
bool
is_checksum_verified
(
const
int64_t
data_checksum
)
const
;
bool
is_empty_cb
()
const
;
// common::ObTraceProfile *get_trace_profile() {return trace_profile_;}
// int report_trace();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录