Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
oceanbase
提交
ab743ff0
O
oceanbase
项目概览
Metz
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
0
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,发现更多精彩内容 >>
提交
ab743ff0
编写于
8月 11, 2021
作者:
H
hf0
提交者:
wangzelin.wzl
8月 11, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix primary leader sync log timeout issue in max protect mode.
上级
87b97c82
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
5 deletion
+30
-5
src/clog/ob_partition_log_service.cpp
src/clog/ob_partition_log_service.cpp
+24
-1
src/storage/ob_partition_service.cpp
src/storage/ob_partition_service.cpp
+6
-4
未找到文件。
src/clog/ob_partition_log_service.cpp
浏览文件 @
ab743ff0
...
@@ -1491,7 +1491,30 @@ int ObPartitionLogService::receive_log(const ObLogEntry& log_entry, const ObAddr
...
@@ -1491,7 +1491,30 @@ int ObPartitionLogService::receive_log(const ObLogEntry& log_entry, const ObAddr
if
(
OB_SUCC
(
ret
))
{
if
(
OB_SUCC
(
ret
))
{
RLockGuard
guard
(
lock_
);
RLockGuard
guard
(
lock_
);
if
(
cluster_id
!=
state_mgr_
.
get_self_cluster_id
()
&&
STANDBY_LEADER
!=
state_mgr_
.
get_role
())
{
// check src server
const
common
::
ObAddr
parent
=
cascading_mgr_
.
get_parent_addr
();
bool
is_valid_src
=
false
;
if
(
!
parent
.
is_valid
()
||
server
==
parent
||
cascading_mgr_
.
is_in_reregister_period
())
{
// When my parent is invalid(may be migrating dest) or src is my parent or
// I'm in reregister period, I can receive log.
is_valid_src
=
true
;
}
if
(
!
is_valid_src
)
{
// sender is not valid src, cannot receive log
ret
=
OB_STATE_NOT_MATCH
;
CLOG_LOG
(
WARN
,
"sender is an unexpected src, cannot receive log"
,
K_
(
partition_key
),
K
(
ret
),
K
(
server
),
K
(
proposal_id
),
K
(
cluster_id
),
K
(
type
),
K
(
parent
),
"self_cluster_id"
,
state_mgr_
.
get_self_cluster_id
());
}
else
if
(
cluster_id
!=
state_mgr_
.
get_self_cluster_id
()
&&
STANDBY_LEADER
!=
state_mgr_
.
get_role
())
{
// only STANDBY_LEADER can receive logs from different cluster
// only STANDBY_LEADER can receive logs from different cluster
ret
=
OB_STATE_NOT_MATCH
;
ret
=
OB_STATE_NOT_MATCH
;
CLOG_LOG
(
WARN
,
CLOG_LOG
(
WARN
,
...
...
src/storage/ob_partition_service.cpp
浏览文件 @
ab743ff0
...
@@ -8142,15 +8142,17 @@ int ObPartitionService::nonblock_get_strong_leader_from_loc_cache(
...
@@ -8142,15 +8142,17 @@ int ObPartitionService::nonblock_get_strong_leader_from_loc_cache(
int tmp_ret = OB_SUCCESS;
int tmp_ret = OB_SUCCESS;
const int64_t expire_renew_time = 0;
const int64_t expire_renew_time = 0;
if (OB_SUCCESS != (tmp_ret = location_cache_->nonblock_renew(pkey, expire_renew_time, cluster_id))) {
if (OB_SUCCESS != (tmp_ret = location_cache_->nonblock_renew(pkey, expire_renew_time, cluster_id))) {
STORAGE_LOG(WARN, "nonblock_renew failed", K(pkey), K(tmp_ret));
STORAGE_LOG(WARN, "nonblock_renew failed", K(pkey), K(tmp_ret)
, K(cluster_id)
);
} else {
} else {
STORAGE_LOG(DEBUG, "nonblock_renew success", K(pkey));
if (REACH_TIME_INTERVAL(1000 * 1000)) {
STORAGE_LOG(INFO, "nonblock_renew success", K(pkey), K(cluster_id));
}
}
}
}
}
if (OB_FAIL(location_cache_->nonblock_get_strong_leader_without_renew(pkey, leader, cluster_id))) {
if (OB_FAIL(location_cache_->nonblock_get_strong_leader_without_renew(pkey, leader, cluster_id))) {
STORAGE_LOG(DEBUG, "nonblock_get_strong_leader_without_renew failed", K(pkey), K(ret));
STORAGE_LOG(DEBUG, "nonblock_get_strong_leader_without_renew failed", K(pkey), K(
cluster_id), K(
ret));
} else {
} else {
STORAGE_LOG(DEBUG, "nonblock_get_
leader_without_renew success", K(pkey
), K(ret));
STORAGE_LOG(DEBUG, "nonblock_get_
strong_leader_without_renew success", K(pkey), K(cluster_id
), K(ret));
}
}
}
}
return ret;
return ret;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录