Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
542a5212
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
542a5212
编写于
7月 01, 2019
作者:
Z
zhiru
浏览文件
操作
浏览文件
下载
差异文件
update
Former-commit-id: a86958591283465c24c8114044e646f2e7ebc8a9
上级
cdc47c36
77120a62
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
243 addition
and
69 deletion
+243
-69
cpp/conf/server_config.template
cpp/conf/server_config.template
+0
-1
cpp/coverage.sh
cpp/coverage.sh
+2
-0
cpp/src/db/MySQLConnectionPool.h
cpp/src/db/MySQLConnectionPool.h
+0
-4
cpp/src/db/MySQLMetaImpl.cpp
cpp/src/db/MySQLMetaImpl.cpp
+5
-18
cpp/unittest/db/mysql_db_test.cpp
cpp/unittest/db/mysql_db_test.cpp
+20
-9
cpp/unittest/db/mysql_meta_test.cpp
cpp/unittest/db/mysql_meta_test.cpp
+216
-37
未找到文件。
cpp/conf/server_config.template
浏览文件 @
542a5212
...
...
@@ -15,7 +15,6 @@ db_config:
index_building_threshold: 1024 # index building trigger threshold, default: 1024, unit: MB
archive_disk_threshold: 512 # triger archive action if storage size exceed this value, unit: GB
archive_days_threshold: 30 # files older than x days will be archived, unit: day
sql_echo: on # print sql statement in debug log
metric_config:
is_startup: off # if monitoring start: on, off
...
...
cpp/coverage.sh
浏览文件 @
542a5212
#!/bin/bash
export
LD_LIBRARY_PATH
=
$LD_LIBRARY_PATH
:
$(
pwd
)
/milvus/lib
LCOV_CMD
=
"lcov"
LCOV_GEN_CMD
=
"genhtml"
...
...
cpp/src/db/MySQLConnectionPool.h
浏览文件 @
542a5212
...
...
@@ -69,10 +69,6 @@ public:
max_idle_time_
=
max_idle
;
}
std
::
string
getDB
()
{
return
db_
;
}
protected:
// Superclass overrides
...
...
cpp/src/db/MySQLMetaImpl.cpp
浏览文件 @
542a5212
...
...
@@ -1733,30 +1733,17 @@ namespace meta {
// ENGINE_LOG_WARNING << "MySQLMetaImpl::CleanUp: connection in use = " << mysql_connection_pool_->getConnectionsInUse();
// }
ENGINE_LOG_DEBUG
<<
"Remove table file type as NEW"
;
Query
cleanUpQuery
=
connectionPtr
->
query
();
cleanUpQuery
<<
"SELECT table_name "
<<
"FROM information_schema.tables "
<<
"WHERE table_schema = "
<<
quote
<<
mysql_connection_pool_
->
getDB
()
<<
quote
<<
" "
<<
"AND table_name = "
<<
quote
<<
"TableFiles"
<<
quote
<<
";"
;
cleanUpQuery
<<
"DELETE FROM TableFiles WHERE file_type = "
<<
std
::
to_string
(
TableFileSchema
::
NEW
)
<<
";"
;
if
(
options_
.
sql_echo
)
{
ENGINE_LOG_DEBUG
<<
"MySQLMetaImpl::CleanUp: "
<<
cleanUpQuery
.
str
();
}
StoreQueryResult
res
=
cleanUpQuery
.
store
();
assert
(
res
);
if
(
!
res
.
empty
())
{
ENGINE_LOG_DEBUG
<<
"Remove table file type as NEW"
;
cleanUpQuery
<<
"DELETE FROM TableFiles WHERE file_type = "
<<
std
::
to_string
(
TableFileSchema
::
NEW
)
<<
";"
;
if
(
options_
.
sql_echo
)
{
ENGINE_LOG_DEBUG
<<
"MySQLMetaImpl::CleanUp: "
<<
cleanUpQuery
.
str
();
}
if
(
!
cleanUpQuery
.
exec
())
{
ENGINE_LOG_ERROR
<<
"QUERY ERROR WHEN CLEANING UP FILES"
;
return
Status
::
DBTransactionError
(
"Clean up Error"
,
cleanUpQuery
.
error
());
}
if
(
!
cleanUpQuery
.
exec
())
{
ENGINE_LOG_ERROR
<<
"QUERY ERROR WHEN CLEANING UP FILES"
;
return
Status
::
DBTransactionError
(
"Clean up Error"
,
cleanUpQuery
.
error
());
}
}
catch
(
const
BadQuery
&
er
)
{
...
...
cpp/unittest/db/mysql_db_test.cpp
浏览文件 @
542a5212
...
...
@@ -69,10 +69,13 @@ TEST_F(MySQLDBTest, DB_TEST) {
std
::
vector
<
float
>
qxb
;
BuildVectors
(
qb
,
qxb
);
db_
->
InsertVectors
(
TABLE_NAME
,
qb
,
qxb
.
data
(),
target_ids
);
ASSERT_EQ
(
target_ids
.
size
(),
qb
);
std
::
thread
search
([
&
]()
{
engine
::
QueryResults
results
;
int
k
=
10
;
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
seconds
(
3
));
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
seconds
(
2
));
INIT_TIMER
;
std
::
stringstream
ss
;
...
...
@@ -92,7 +95,14 @@ TEST_F(MySQLDBTest, DB_TEST) {
ASSERT_STATS
(
stat
);
for
(
auto
k
=
0
;
k
<
qb
;
++
k
)
{
// std::cout << results[k][0].first << " " << target_ids[k] << std::endl;
ASSERT_EQ
(
results
[
k
][
0
].
first
,
target_ids
[
k
]);
// ASSERT_EQ(results[k][0].first, target_ids[k]);
bool
exists
=
false
;
for
(
auto
&
result
:
results
[
k
])
{
if
(
result
.
first
==
target_ids
[
k
])
{
exists
=
true
;
}
}
ASSERT_TRUE
(
exists
);
ss
.
str
(
""
);
ss
<<
"Result ["
<<
k
<<
"]:"
;
for
(
auto
result
:
results
[
k
])
{
...
...
@@ -101,19 +111,20 @@ TEST_F(MySQLDBTest, DB_TEST) {
/* LOG(DEBUG) << ss.str(); */
}
ASSERT_TRUE
(
count
>=
prev_count
);
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
seconds
(
3
));
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
seconds
(
1
));
}
});
int
loop
=
INSERT_LOOP
;
for
(
auto
i
=
0
;
i
<
loop
;
++
i
)
{
if
(
i
==
40
)
{
db_
->
InsertVectors
(
TABLE_NAME
,
qb
,
qxb
.
data
(),
target_ids
);
ASSERT_EQ
(
target_ids
.
size
(),
qb
);
}
else
{
db_
->
InsertVectors
(
TABLE_NAME
,
nb
,
xb
.
data
(),
vector_ids
);
}
// if (i==10) {
// db_->InsertVectors(TABLE_NAME, qb, qxb.data(), target_ids);
// ASSERT_EQ(target_ids.size(), qb);
// } else {
// db_->InsertVectors(TABLE_NAME, nb, xb.data(), vector_ids);
// }
db_
->
InsertVectors
(
TABLE_NAME
,
nb
,
xb
.
data
(),
vector_ids
);
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
microseconds
(
1
));
}
...
...
cpp/unittest/db/mysql_meta_test.cpp
浏览文件 @
542a5212
...
...
@@ -21,8 +21,21 @@
using
namespace
zilliz
::
milvus
::
engine
;
TEST_F
(
MySQLTest
,
TABLE_TEST
)
{
//TEST_F(MySQLTest, InitializeTest) {
// DBMetaOptions options;
// //dialect+driver://username:password@host:port/database
// options.backend_uri = "mysql://root:1234@:/test";
// meta::MySQLMetaImpl impl(options);
// auto status = impl.Initialize();
// std::cout << status.ToString() << std::endl;
// ASSERT_TRUE(status.ok());
//}
TEST_F
(
MySQLTest
,
core
)
{
DBMetaOptions
options
;
// //dialect+driver://username:password@host:port/database
// options.backend_uri = "mysql://root:1234@:/test";
// options.path = "/tmp/vecwise_test";
try
{
options
=
getDBMetaOptions
();
}
catch
(
std
::
exception
&
ex
)
{
...
...
@@ -32,38 +45,203 @@ TEST_F(MySQLTest, TABLE_TEST) {
int
mode
=
Options
::
MODE
::
SINGLE
;
meta
::
MySQLMetaImpl
impl
(
options
,
mode
);
// auto status = impl.Initialize();
// ASSERT_TRUE(status.ok());
auto
table_id
=
"meta_test_table"
;
meta
::
TableSchema
schema1
;
schema1
.
table_id_
=
"test1"
;
schema1
.
dimension_
=
123
;
meta
::
TableSchema
table
;
table
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
table
);
auto
status
=
impl
.
CreateTable
(
schema1
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
auto
gid
=
table
.
id_
;
table
.
id_
=
-
1
;
status
=
impl
.
DescribeTable
(
table
);
meta
::
TableSchema
schema2
;
schema2
.
table_id_
=
"test2"
;
schema2
.
dimension_
=
321
;
status
=
impl
.
CreateTable
(
schema2
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
table
.
id_
,
gid
);
ASSERT_EQ
(
table
.
table_id_
,
table_id
);
table
.
table_id_
=
"not_found"
;
status
=
impl
.
DescribeTable
(
table
);
status
=
impl
.
CreateTable
(
schema2
);
// std::cout << status.ToString() << std::endl;
// ASSERT_THROW(impl.CreateTable(schema), mysqlpp::BadQuery);
ASSERT_TRUE
(
status
.
ok
());
status
=
impl
.
DeleteTable
(
schema2
.
table_id_
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
size_t
id1
=
schema1
.
id_
;
long
created_on1
=
schema1
.
created_on_
;
status
=
impl
.
DescribeTable
(
schema1
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
schema1
.
id_
,
id1
);
ASSERT_EQ
(
schema1
.
table_id_
,
"test1"
);
ASSERT_EQ
(
schema1
.
created_on_
,
created_on1
);
ASSERT_EQ
(
schema1
.
files_cnt_
,
0
);
ASSERT_EQ
(
schema1
.
engine_type_
,
1
);
ASSERT_EQ
(
schema1
.
store_raw_data_
,
false
);
bool
check
;
status
=
impl
.
HasTable
(
"test1"
,
check
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
check
,
true
);
std
::
vector
<
meta
::
TableSchema
>
table_schema_array
;
status
=
impl
.
AllTables
(
table_schema_array
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
table_schema_array
.
size
(),
1
);
meta
::
TableSchema
resultSchema
=
table_schema_array
[
0
];
ASSERT_EQ
(
resultSchema
.
id_
,
id1
);
ASSERT_EQ
(
resultSchema
.
table_id_
,
"test1"
);
ASSERT_EQ
(
resultSchema
.
dimension_
,
123
);
ASSERT_EQ
(
resultSchema
.
files_cnt_
,
0
);
ASSERT_EQ
(
resultSchema
.
engine_type_
,
1
);
ASSERT_EQ
(
resultSchema
.
store_raw_data_
,
false
);
meta
::
TableFileSchema
tableFileSchema
;
tableFileSchema
.
table_id_
=
"test1"
;
status
=
impl
.
CreateTableFile
(
tableFileSchema
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
tableFileSchema
.
file_type_
=
meta
::
TableFileSchema
::
TO_INDEX
;
status
=
impl
.
UpdateTableFile
(
tableFileSchema
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
meta
::
TableFilesSchema
filesToIndex
;
status
=
impl
.
FilesToIndex
(
filesToIndex
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
filesToIndex
.
size
(),
1
);
meta
::
TableFileSchema
fileToIndex
=
filesToIndex
[
0
];
ASSERT_EQ
(
fileToIndex
.
table_id_
,
"test1"
);
ASSERT_EQ
(
fileToIndex
.
dimension_
,
123
);
// meta::TableFilesSchema filesToIndex;
// status = impl.FilesToIndex(filesToIndex);
// ASSERT_TRUE(status.ok());
// ASSERT_EQ(filesToIndex.size(), 0);
meta
::
DatesT
partition
;
partition
.
push_back
(
tableFileSchema
.
date_
);
meta
::
DatePartionedTableFilesSchema
filesToSearch
;
status
=
impl
.
FilesToSearch
(
tableFileSchema
.
table_id_
,
partition
,
filesToSearch
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
filesToSearch
.
size
(),
1
);
ASSERT_EQ
(
filesToSearch
[
tableFileSchema
.
date_
].
size
(),
1
);
meta
::
TableFileSchema
fileToSearch
=
filesToSearch
[
tableFileSchema
.
date_
][
0
];
ASSERT_EQ
(
fileToSearch
.
table_id_
,
"test1"
);
ASSERT_EQ
(
fileToSearch
.
dimension_
,
123
);
tableFileSchema
.
file_type_
=
meta
::
TableFileSchema
::
RAW
;
status
=
impl
.
UpdateTableFile
(
tableFileSchema
);
ASSERT_TRUE
(
status
.
ok
());
meta
::
DatePartionedTableFilesSchema
filesToMerge
;
status
=
impl
.
FilesToMerge
(
tableFileSchema
.
table_id_
,
filesToMerge
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
filesToMerge
.
size
(),
1
);
ASSERT_EQ
(
filesToMerge
[
tableFileSchema
.
date_
].
size
(),
1
);
meta
::
TableFileSchema
fileToMerge
=
filesToMerge
[
tableFileSchema
.
date_
][
0
];
ASSERT_EQ
(
fileToMerge
.
table_id_
,
"test1"
);
ASSERT_EQ
(
fileToMerge
.
dimension_
,
123
);
meta
::
TableFilesSchema
resultTableFilesSchema
;
std
::
vector
<
size_t
>
ids
;
ids
.
push_back
(
tableFileSchema
.
id_
);
status
=
impl
.
GetTableFiles
(
tableFileSchema
.
table_id_
,
ids
,
resultTableFilesSchema
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
resultTableFilesSchema
.
size
(),
1
);
meta
::
TableFileSchema
resultTableFileSchema
=
resultTableFilesSchema
[
0
];
// ASSERT_EQ(resultTableFileSchema.id_, tableFileSchema.id_);
ASSERT_EQ
(
resultTableFileSchema
.
table_id_
,
tableFileSchema
.
table_id_
);
ASSERT_EQ
(
resultTableFileSchema
.
file_id_
,
tableFileSchema
.
file_id_
);
ASSERT_EQ
(
resultTableFileSchema
.
file_type_
,
tableFileSchema
.
file_type_
);
ASSERT_EQ
(
resultTableFileSchema
.
size_
,
tableFileSchema
.
size_
);
ASSERT_EQ
(
resultTableFileSchema
.
date_
,
tableFileSchema
.
date_
);
ASSERT_EQ
(
resultTableFileSchema
.
engine_type_
,
tableFileSchema
.
engine_type_
);
ASSERT_EQ
(
resultTableFileSchema
.
dimension_
,
tableFileSchema
.
dimension_
);
tableFileSchema
.
size_
=
234
;
meta
::
TableSchema
schema3
;
schema3
.
table_id_
=
"test3"
;
schema3
.
dimension_
=
321
;
status
=
impl
.
CreateTable
(
schema3
);
ASSERT_TRUE
(
status
.
ok
());
meta
::
TableFileSchema
tableFileSchema2
;
tableFileSchema2
.
table_id_
=
"test3"
;
tableFileSchema2
.
size_
=
345
;
status
=
impl
.
CreateTableFile
(
tableFileSchema2
);
ASSERT_TRUE
(
status
.
ok
());
meta
::
TableFilesSchema
filesToUpdate
;
filesToUpdate
.
emplace_back
(
tableFileSchema
);
filesToUpdate
.
emplace_back
(
tableFileSchema2
);
status
=
impl
.
UpdateTableFile
(
tableFileSchema
);
ASSERT_TRUE
(
status
.
ok
());
uint64_t
resultSize
;
status
=
impl
.
Size
(
resultSize
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
resultSize
,
tableFileSchema
.
size_
+
tableFileSchema2
.
size_
);
uint64_t
countResult
;
status
=
impl
.
Count
(
tableFileSchema
.
table_id_
,
countResult
);
ASSERT_TRUE
(
status
.
ok
());
status
=
impl
.
DropAll
();
ASSERT_TRUE
(
status
.
ok
());
}
TEST_F
(
MySQLTest
,
GROUP_TEST
)
{
DBMetaOptions
options
;
try
{
options
=
getDBMetaOptions
();
}
catch
(
std
::
exception
&
ex
)
{
ASSERT_TRUE
(
false
);
return
;
}
int
mode
=
Options
::
MODE
::
SINGLE
;
meta
::
MySQLMetaImpl
impl
(
options
,
mode
);
auto
table_id
=
"meta_test_group"
;
meta
::
TableSchema
group
;
group
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
group
);
ASSERT_TRUE
(
status
.
ok
());
auto
gid
=
group
.
id_
;
group
.
id_
=
-
1
;
status
=
impl
.
DescribeTable
(
group
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
group
.
id_
,
gid
);
ASSERT_EQ
(
group
.
table_id_
,
table_id
);
group
.
table_id_
=
"not_found"
;
status
=
impl
.
DescribeTable
(
group
);
ASSERT_TRUE
(
!
status
.
ok
());
table
.
table_id_
=
table_id
;
status
=
impl
.
CreateTable
(
table
);
group
.
table_id_
=
table_id
;
status
=
impl
.
CreateTable
(
group
);
ASSERT_TRUE
(
status
.
ok
());
table
.
table_id_
=
""
;
status
=
impl
.
CreateTable
(
table
);
group
.
table_id_
=
""
;
status
=
impl
.
CreateTable
(
group
);
ASSERT_TRUE
(
status
.
ok
());
status
=
impl
.
DropAll
();
ASSERT_TRUE
(
status
.
ok
());
}
TEST_F
(
MySQLTest
,
TABLE_FILE
_TEST
)
{
TEST_F
(
MySQLTest
,
table_file
_TEST
)
{
DBMetaOptions
options
;
try
{
options
=
getDBMetaOptions
();
...
...
@@ -75,16 +253,17 @@ TEST_F(MySQLTest, TABLE_FILE_TEST) {
int
mode
=
Options
::
MODE
::
SINGLE
;
meta
::
MySQLMetaImpl
impl
(
options
,
mode
);
auto
table_id
=
"meta_test_
table
"
;
auto
table_id
=
"meta_test_
group
"
;
meta
::
TableSchema
table
;
table
.
table_id_
=
table_id
;
table
.
dimension_
=
256
;
auto
status
=
impl
.
CreateTable
(
table
);
meta
::
TableSchema
group
;
group
.
table_id_
=
table_id
;
group
.
dimension_
=
256
;
auto
status
=
impl
.
CreateTable
(
group
);
meta
::
TableFileSchema
table_file
;
table_file
.
table_id_
=
table
.
table_id_
;
table_file
.
table_id_
=
group
.
table_id_
;
status
=
impl
.
CreateTableFile
(
table_file
);
// std::cout << status.ToString() << std::endl;
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
table_file
.
file_type_
,
meta
::
TableFileSchema
::
NEW
);
...
...
@@ -153,15 +332,15 @@ TEST_F(MySQLTest, ARCHIVE_TEST_DAYS) {
int
mode
=
Options
::
MODE
::
SINGLE
;
meta
::
MySQLMetaImpl
impl
(
options
,
mode
);
auto
table_id
=
"meta_test_
table
"
;
auto
table_id
=
"meta_test_
group
"
;
meta
::
TableSchema
table
;
table
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
table
);
meta
::
TableSchema
group
;
group
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
group
);
meta
::
TableFilesSchema
files
;
meta
::
TableFileSchema
table_file
;
table_file
.
table_id_
=
table
.
table_id_
;
table_file
.
table_id_
=
group
.
table_id_
;
auto
cnt
=
100
;
long
ts
=
utils
::
GetMicroSecTimeStamp
();
...
...
@@ -212,13 +391,13 @@ TEST_F(MySQLTest, ARCHIVE_TEST_DISK) {
auto
impl
=
meta
::
MySQLMetaImpl
(
options
,
mode
);
auto
table_id
=
"meta_test_group"
;
meta
::
TableSchema
table
;
table
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
table
);
meta
::
TableSchema
group
;
group
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
group
);
meta
::
TableFilesSchema
files
;
meta
::
TableFileSchema
table_file
;
table_file
.
table_id_
=
table
.
table_id_
;
table_file
.
table_id_
=
group
.
table_id_
;
auto
cnt
=
10
;
auto
each_size
=
2UL
;
...
...
@@ -266,9 +445,9 @@ TEST_F(MySQLTest, TABLE_FILES_TEST) {
auto
table_id
=
"meta_test_group"
;
meta
::
TableSchema
table
;
table
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
table
);
meta
::
TableSchema
group
;
group
.
table_id_
=
table_id
;
auto
status
=
impl
.
CreateTable
(
group
);
int
new_files_cnt
=
4
;
int
raw_files_cnt
=
5
;
...
...
@@ -276,7 +455,7 @@ TEST_F(MySQLTest, TABLE_FILES_TEST) {
int
index_files_cnt
=
7
;
meta
::
TableFileSchema
table_file
;
table_file
.
table_id_
=
table
.
table_id_
;
table_file
.
table_id_
=
group
.
table_id_
;
for
(
auto
i
=
0
;
i
<
new_files_cnt
;
++
i
)
{
status
=
impl
.
CreateTableFile
(
table_file
);
...
...
@@ -309,7 +488,7 @@ TEST_F(MySQLTest, TABLE_FILES_TEST) {
ASSERT_EQ
(
files
.
size
(),
to_index_files_cnt
);
meta
::
DatePartionedTableFilesSchema
dated_files
;
status
=
impl
.
FilesToMerge
(
table
.
table_id_
,
dated_files
);
status
=
impl
.
FilesToMerge
(
group
.
table_id_
,
dated_files
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_EQ
(
dated_files
[
table_file
.
date_
].
size
(),
raw_files_cnt
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录