Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
clmforever
oceanbase
提交
efbed6ee
O
oceanbase
项目概览
clmforever
/
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,发现更多精彩内容 >>
提交
efbed6ee
编写于
11月 15, 2022
作者:
O
obdev
提交者:
wangzelin.wzl
11月 15, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix update_memtables in table store when creating new memtable
上级
f03ae017
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
17 deletion
+20
-17
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
+3
-3
src/storage/tablet/ob_tablet_table_store.cpp
src/storage/tablet/ob_tablet_table_store.cpp
+17
-14
未找到文件。
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
浏览文件 @
efbed6ee
...
...
@@ -289,9 +289,9 @@ int ObExprToOutfileRow::print_wchar_to_buf(char *buf, const int64_t buf_len, int
int
ObExprToOutfileRow
::
copy_string_to_buf
(
char
*
buf
,
const
int64_t
buf_len
,
int64_t
&
pos
,
const
ObString
&
str
)
{
return
databuff_memcpy
(
buf
,
buf_len
,
pos
,
str
.
length
(),
str
.
ptr
());
}
{
return
databuff_memcpy
(
buf
,
buf_len
,
pos
,
str
.
length
(),
str
.
ptr
());
}
}
}
src/storage/tablet/ob_tablet_table_store.cpp
浏览文件 @
efbed6ee
...
...
@@ -130,9 +130,7 @@ int ObTabletTableStore::deserialize(
}
else
{
int
tmp_ret
=
OB_SUCCESS
;
if
(
OB_SUCCESS
!=
(
tmp_ret
=
init_read_cache
()))
{
if
(
OB_SNAPSHOT_DISCARDED
!=
tmp_ret
)
{
LOG_WARN
(
"failed to init read cache iterator"
,
K
(
tmp_ret
));
}
LOG_WARN
(
"failed to init read cache iterator"
,
K
(
tmp_ret
));
}
}
...
...
@@ -192,8 +190,8 @@ int ObTabletTableStore::init(
LOG_WARN
(
"Failed to add table to major_tables"
,
K
(
ret
));
}
else
{
is_ready_for_read_
=
true
;
// exist major sstable and no minor sstable, must be ready for read
int
tmp_ret
=
init_read_cache
()
;
if
(
OB_SUCCESS
!=
tmp_ret
&&
OB_SNAPSHOT_DISCARDED
!=
tmp_ret
)
{
int
tmp_ret
=
OB_SUCCESS
;
if
(
OB_SUCCESS
!=
(
tmp_ret
=
init_read_cache
())
)
{
LOG_WARN
(
"failed to init read cache, just skip"
,
K
(
tmp_ret
));
}
}
...
...
@@ -315,8 +313,17 @@ int ObTabletTableStore::prepare_memtables()
int
ObTabletTableStore
::
update_memtables
()
{
int
ret
=
OB_SUCCESS
;
if
(
OB_FAIL
(
pull_memtables
()))
{
LOG_WARN
(
"failed to update memtables from memtable_mgr"
,
K
(
ret
));
ObTableHandleArray
inc_memtables
;
if
(
OB_ISNULL
(
tablet_ptr_
)
||
OB_ISNULL
(
tablet_ptr_
->
get_memtable_mgr
()))
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"get unexpected tablet_ptr or memtable_mgr"
,
K
(
ret
),
KP
(
tablet_ptr_
));
}
else
if
(
!
tablet_ptr_
->
get_memtable_mgr
()
->
has_memtable
())
{
LOG_INFO
(
"no memtable in memtable mgr"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
tablet_ptr_
->
get_memtable_mgr
()
->
get_all_memtables
(
inc_memtables
)))
{
LOG_WARN
(
"failed to get all memtables from memtable_mgr"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
memtables_
.
rebuild
(
inc_memtables
)))
{
LOG_ERROR
(
"failed to rebuild table store memtables"
,
K
(
ret
),
K
(
inc_memtables
),
KPC
(
this
));
}
else
{
int
tmp_ret
=
OB_SUCCESS
;
if
(
OB_SUCCESS
!=
(
tmp_ret
=
init_read_cache
()))
{
...
...
@@ -512,7 +519,7 @@ int ObTabletTableStore::calculate_read_tables(
}
}
else
{
// not find base table
if
(
!
allow_no_ready_read
||
!
major_tables_
.
empty
())
{
ret
=
OB_
SNAPSHOT_DISCARDED
;
ret
=
OB_
REPLICA_NOT_READABLE
;
LOG_WARN
(
"no base table, not allow no ready read, no table found for specific version"
,
K
(
ret
),
K
(
snapshot_version
),
K
(
PRINT_TS
(
*
this
)));
}
else
if
(
!
minor_tables_
.
empty
()
&&
OB_FAIL
(
iterator
.
add_tables
(
minor_tables_
.
array_
,
minor_tables_
.
count_
)))
{
LOG_WARN
(
"failed to add all minor tables to iterator"
,
K
(
ret
));
...
...
@@ -640,9 +647,7 @@ int ObTabletTableStore::build_new_table_store(
}
else
{
int
tmp_ret
=
OB_SUCCESS
;
if
(
OB_SUCCESS
!=
(
tmp_ret
=
init_read_cache
()))
{
if
(
OB_SNAPSHOT_DISCARDED
!=
tmp_ret
)
{
LOG_WARN
(
"failed to cache read iterator"
,
K
(
tmp_ret
));
}
LOG_WARN
(
"failed to cache read iterator"
,
K
(
tmp_ret
));
}
FLOG_INFO
(
"succeed to build new table store"
,
K
(
major_tables_
),
K
(
minor_tables_
),
K
(
memtables_
),
K
(
PRINT_TS
(
*
this
)));
}
...
...
@@ -1192,9 +1197,7 @@ int ObTabletTableStore::build_ha_new_table_store_(
}
else
{
int
tmp_ret
=
OB_SUCCESS
;
if
(
OB_SUCCESS
!=
(
tmp_ret
=
init_read_cache
()))
{
if
(
OB_SNAPSHOT_DISCARDED
!=
tmp_ret
)
{
LOG_WARN
(
"failed to cache read iterator"
,
K
(
tmp_ret
));
}
LOG_WARN
(
"failed to cache read iterator"
,
K
(
tmp_ret
));
}
FLOG_INFO
(
"succeed to build ha new table store"
,
K
(
major_tables_
),
K
(
minor_tables_
),
K
(
memtables_
),
K
(
PRINT_TS
(
*
this
)));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录