Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
大炮V587
oceanbase
提交
05d3a935
O
oceanbase
项目概览
大炮V587
/
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,发现更多精彩内容 >>
提交
05d3a935
编写于
3月 14, 2023
作者:
O
obdev
提交者:
ob-robot
3月 14, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Limit archive memory usage based on send_task_status
上级
f19dacc1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
8 deletion
+10
-8
src/logservice/archiveservice/ob_archive_fetcher.cpp
src/logservice/archiveservice/ob_archive_fetcher.cpp
+10
-0
src/logservice/restoreservice/ob_remote_log_iterator.h
src/logservice/restoreservice/ob_remote_log_iterator.h
+0
-1
src/logservice/restoreservice/ob_remote_log_iterator.ipp
src/logservice/restoreservice/ob_remote_log_iterator.ipp
+0
-7
未找到文件。
src/logservice/archiveservice/ob_archive_fetcher.cpp
浏览文件 @
05d3a935
...
...
@@ -452,6 +452,8 @@ int ObArchiveFetcher::check_need_delay_(const ObLSID &id,
SCN
fetch_scn
;
need_delay
=
false
;
int64_t
send_task_count
=
0
;
int64_t
ls_archive_task_count
=
0
;
int64_t
send_task_status_count
=
0
;
if
(
FALSE_IT
(
check_capacity_enough_
(
commit_lsn
,
cur_lsn
,
end_lsn
,
data_enough
,
data_full
)))
{
}
else
if
(
data_full
)
{
...
...
@@ -473,6 +475,14 @@ int ObArchiveFetcher::check_need_delay_(const ObLSID &id,
}
else
if
(
true
==
(
need_delay
=
!
check_scn_enough_
(
fetch_scn
,
commit_scn
)))
{
ARCHIVE_LOG
(
TRACE
,
"scn not enough, need delay"
,
K
(
id
),
K
(
station
),
K
(
fetch_scn
),
K
(
commit_scn
));
}
else
{
ls_archive_task_count
=
ls_mgr_
->
get_ls_task_count
();
send_task_status_count
=
archive_sender_
->
get_send_task_status_count
();
if
(
ls_archive_task_count
<
send_task_status_count
)
{
need_delay
=
true
;
ARCHIVE_LOG
(
TRACE
,
"archive_sender_ task status count more than ls archive task count, just wait"
,
K
(
ls_archive_task_count
),
K
(
send_task_status_count
),
K
(
need_delay
));
}
}
}
}
...
...
src/logservice/restoreservice/ob_remote_log_iterator.h
浏览文件 @
05d3a935
...
...
@@ -117,7 +117,6 @@ private:
int
get_entry_
(
LogEntryType
&
entry
,
LSN
&
lsn
,
const
char
*&
buf
,
int64_t
&
buf_size
);
void
update_data_gen_max_lsn_
();
void
mark_source_error_
(
const
int
ret_code
);
bool
is_retry_ret_
(
const
bool
ret_code
)
const
;
private:
bool
inited_
;
...
...
src/logservice/restoreservice/ob_remote_log_iterator.ipp
浏览文件 @
05d3a935
...
...
@@ -334,10 +334,3 @@ void ObRemoteLogIterator<LogEntryType>::mark_source_error_(const int ret_code)
source->mark_error(*ObCurTraceId::get_trace_id(), ret_code);
}
}
template<class LogEntryType>
bool ObRemoteLogIterator<LogEntryType>::is_retry_ret_(const bool ret_code) const
{
return OB_ALLOCATE_MEMORY_FAILED == ret_code
|| is_io_error(ret_code);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录