Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
indiff7643
Terarkdb
提交
88c0255e
T
Terarkdb
项目概览
indiff7643
/
Terarkdb
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Terarkdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
88c0255e
编写于
1月 14, 2021
作者:
W
wangyi.ywq
提交者:
奏之章
2月 08, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[feature] add TZT test in db_impl_gc_ttl_test #5
上级
eacffbda
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
39 addition
and
27 deletion
+39
-27
db/db_impl_gc_ttl_test.cc
db/db_impl_gc_ttl_test.cc
+39
-27
未找到文件。
db/db_impl_gc_ttl_test.cc
浏览文件 @
88c0255e
...
...
@@ -15,7 +15,9 @@ class DBImplGCTTL_Test : public DBTestBase {
DBImplGCTTL_Test
()
:
DBTestBase
(
"./db_GC_ttl_test"
),
mock_env_
(
new
MockTimeEnv
(
Env
::
Default
()))
{}
~
DBImplGCTTL_Test
(){
Close
();
}
void
init
()
{
dbname
=
test
::
PerThreadDBPath
(
"ttl_gc_test"
);
DestroyDB
(
dbname
,
options
);
...
...
@@ -29,6 +31,32 @@ class DBImplGCTTL_Test : public DBTestBase {
new
BlockBasedTableFactory
(
BlockBasedTableOptions
()));
}
void
run
(){
int
L0FilesNums
=
4
;
uint64_t
ttl
=
200
;
options
.
env
=
mock_env_
.
get
();
SetUp
();
Reopen
(
options
);
char
ts_string
[
8
];
EncodeFixed64
(
ts_string
,
ttl
);
int
KeyEntrys
=
800
;
for
(
int
i
=
0
;
i
<
L0FilesNums
;
i
++
)
{
for
(
int
j
=
0
;
j
<
KeyEntrys
;
j
++
)
{
std
::
string
key
=
"key"
;
std
::
string
value
=
"value"
;
AppendNumberTo
(
&
key
,
j
);
AppendNumberTo
(
&
value
,
j
);
value
.
append
(
ts_string
,
8
);
dbfull
()
->
Put
(
WriteOptions
(),
key
,
value
);
}
dbfull
()
->
Flush
(
FlushOptions
());
}
// dbfull()->StartPeriodicWorkScheduler();
dbfull
()
->
TEST_WaitForStatsDumpRun
([
&
]
{
mock_env_
->
set_current_time
(
ttl
);
});
ASSERT_TRUE
(
flag
);
ASSERT_EQ
(
L0FilesNums
,
mark
);
}
protected:
std
::
unique_ptr
<
rocksdb
::
MockTimeEnv
>
mock_env_
;
Options
options
;
...
...
@@ -55,37 +83,21 @@ class DBImplGCTTL_Test : public DBTestBase {
}
};
TEST_F
(
DBImplGCTTL_Test
,
L0FileExpired
Test
)
{
TEST_F
(
DBImplGCTTL_Test
,
BlockBasedTable
Test
)
{
init
();
int
L0FilesNums
=
4
;
uint64_t
ttl
=
200
;
options
.
env
=
mock_env_
.
get
();
SetUp
();
Reopen
(
options
);
char
ts_string
[
8
];
EncodeFixed64
(
ts_string
,
ttl
);
int
KeyEntrys
=
800
;
for
(
int
i
=
0
;
i
<
L0FilesNums
;
i
++
)
{
for
(
int
j
=
0
;
j
<
KeyEntrys
;
j
++
)
{
std
::
string
key
=
"key"
;
std
::
string
value
=
"value"
;
AppendNumberTo
(
&
key
,
j
);
AppendNumberTo
(
&
value
,
j
);
value
.
append
(
ts_string
,
8
);
dbfull
()
->
Put
(
WriteOptions
(),
key
,
value
);
}
dbfull
()
->
Flush
(
FlushOptions
());
}
// dbfull()->StartPeriodicWorkScheduler();
dbfull
()
->
TEST_WaitForStatsDumpRun
([
&
]
{
mock_env_
->
set_current_time
(
ttl
);
});
ASSERT_TRUE
(
flag
);
ASSERT_EQ
(
L0FilesNums
,
mark
);
run
();
dbfull
()
->
CompactRange
(
CompactRangeOptions
(),
nullptr
,
nullptr
);
dbfull
()
->
TEST_WaitForCompact
();
dbfull
()
->
ScheduleGCTTL
();
Close
();
}
TEST_F
(
DBImplGCTTL_Test
,
TerarkTableTest
)
{
init
();
TerarkZipTableOptions
terarkziptableoptions
;
options
.
table_factory
.
reset
(
TERARKDB_NAMESPACE
::
NewTerarkZipTableFactory
(
terarkziptableoptions
,
options
.
table_factory
));
run
();
}
}
// namespace rocksdb
int
main
(
int
argc
,
char
**
argv
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录