Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
oceanbase
提交
9d750fb8
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看板
提交
9d750fb8
编写于
5月 16, 2022
作者:
Q
qianchanger
提交者:
wangzelin.wzl
5月 16, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add _max_trx_size
上级
db22b2c6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
18 addition
and
1 deletion
+18
-1
src/share/parameter/ob_parameter_seed.ipp
src/share/parameter/ob_parameter_seed.ipp
+1
-1
src/storage/memtable/ob_memtable_context.cpp
src/storage/memtable/ob_memtable_context.cpp
+16
-0
src/storage/memtable/ob_memtable_context.h
src/storage/memtable/ob_memtable_context.h
+1
-0
未找到文件。
src/share/parameter/ob_parameter_seed.ipp
浏览文件 @
9d750fb8
...
...
@@ -1270,7 +1270,7 @@ DEF_BOOL(module_test_trx_fake_commit, OB_TENANT_PARAMETER, "false", "module test
DEF_CAP(sql_work_area, OB_TENANT_PARAMETER, "1G", "[10M,)", "Work area memory limitation for tenant",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::STATIC_EFFECTIVE));
DEF_CAP(_max_trx_size, OB_CLUSTER_PARAMETER, "100G", "[
1M
,)",
DEF_CAP(_max_trx_size, OB_CLUSTER_PARAMETER, "100G", "[
0B
,)",
"the limit for memstore memory used per partition involved in each database transaction",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
DEF_CAP(__easy_memory_limit, OB_CLUSTER_PARAMETER, "4G", "[1G,)",
...
...
src/storage/memtable/ob_memtable_context.cpp
浏览文件 @
9d750fb8
...
...
@@ -258,6 +258,8 @@ int ObMemtableCtx::set_host_(ObMemtable* host, const bool for_replay)
ret
=
OB_ERR_UNEXPECTED
;
}
else
if
(
false
==
for_replay
&&
true
==
trans_mgr_
.
is_for_replay
())
{
ret
=
OB_NOT_MASTER
;
}
else
if
(
!
ctx_
->
is_can_elr
()
&&
OB_FAIL
(
check_trans_size_
(
for_replay
)))
{
// do nothing
}
else
if
(
host
==
get_active_mt
())
{
// do nothing
}
else
if
(
memtable_arr_wrap_
.
is_contain_this_memtable
(
host
))
{
...
...
@@ -1739,5 +1741,19 @@ void ObMemtableCtx::dec_pending_elr_count()
}
}
int
ObMemtableCtx
::
check_trans_size_
(
const
bool
for_replay
)
{
int
ret
=
OB_SUCCESS
;
const
int64_t
max_trx_size
=
GCONF
.
_max_trx_size
;
if
(
!
for_replay
&&
!
is_can_elr
())
{
if
(
max_trx_size
>
0
&&
trans_mem_total_size_
>
max_trx_size
)
{
ret
=
OB_TRANS_OUT_OF_THRESHOLD
;
TRANS_LOG
(
WARN
,
"current transaction partition data size great to threshold"
,
K
(
*
this
),
K
(
ret
),
K_
(
trans_mem_total_size
),
"max_trx_size_threshold"
,
max_trx_size
);
}
}
return
ret
;
}
}
// namespace memtable
}
// namespace oceanbase
src/storage/memtable/ob_memtable_context.h
浏览文件 @
9d750fb8
...
...
@@ -569,6 +569,7 @@ private:
{
trans_mgr_
.
inc_flushed_log_size
(
size
);
}
int
check_trans_size_
(
const
bool
for_replay
);
private:
DISALLOW_COPY_AND_ASSIGN
(
ObMemtableCtx
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录