mirror of https://github.com/milvus-io/milvus.git
refactor(db): FilesToIndex
Former-commit-id: fe5bd8ca372d0a4d5bf257f3f10853179d2356cepull/191/head
parent
7fe5346f14
commit
874eeb8f7a
|
@ -360,7 +360,7 @@ void DBImpl<EngineT>::background_build_index() {
|
||||||
std::lock_guard<std::mutex> lock(build_index_mutex_);
|
std::lock_guard<std::mutex> lock(build_index_mutex_);
|
||||||
assert(bg_build_index_started_);
|
assert(bg_build_index_started_);
|
||||||
meta::TableFilesSchema to_index_files;
|
meta::TableFilesSchema to_index_files;
|
||||||
_pMeta->files_to_index(to_index_files);
|
_pMeta->FilesToIndex(to_index_files);
|
||||||
Status status;
|
Status status;
|
||||||
for (auto& file : to_index_files) {
|
for (auto& file : to_index_files) {
|
||||||
/* LOG(DEBUG) << "Buiding index for " << file.location; */
|
/* LOG(DEBUG) << "Buiding index for " << file.location; */
|
||||||
|
|
|
@ -259,7 +259,7 @@ Status DBMetaImpl::CreateTableFile(TableFileSchema& file_schema) {
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
Status DBMetaImpl::files_to_index(TableFilesSchema& files) {
|
Status DBMetaImpl::FilesToIndex(TableFilesSchema& files) {
|
||||||
files.clear();
|
files.clear();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -272,28 +272,28 @@ Status DBMetaImpl::files_to_index(TableFilesSchema& files) {
|
||||||
where(c(&TableFileSchema::file_type) == (int)TableFileSchema::TO_INDEX));
|
where(c(&TableFileSchema::file_type) == (int)TableFileSchema::TO_INDEX));
|
||||||
|
|
||||||
std::map<std::string, TableSchema> groups;
|
std::map<std::string, TableSchema> groups;
|
||||||
|
TableFileSchema table_file;
|
||||||
|
|
||||||
for (auto& file : selected) {
|
for (auto& file : selected) {
|
||||||
TableFileSchema group_file;
|
table_file.id = std::get<0>(file);
|
||||||
group_file.id = std::get<0>(file);
|
table_file.table_id = std::get<1>(file);
|
||||||
group_file.table_id = std::get<1>(file);
|
table_file.file_id = std::get<2>(file);
|
||||||
group_file.file_id = std::get<2>(file);
|
table_file.file_type = std::get<3>(file);
|
||||||
group_file.file_type = std::get<3>(file);
|
table_file.size = std::get<4>(file);
|
||||||
group_file.size = std::get<4>(file);
|
table_file.date = std::get<5>(file);
|
||||||
group_file.date = std::get<5>(file);
|
GetGroupFilePath(table_file);
|
||||||
GetGroupFilePath(group_file);
|
auto groupItr = groups.find(table_file.table_id);
|
||||||
auto groupItr = groups.find(group_file.table_id);
|
|
||||||
if (groupItr == groups.end()) {
|
if (groupItr == groups.end()) {
|
||||||
TableSchema table_schema;
|
TableSchema table_schema;
|
||||||
table_schema.table_id = group_file.table_id;
|
table_schema.table_id = table_file.table_id;
|
||||||
auto status = DescribeTable(table_schema);
|
auto status = DescribeTable(table_schema);
|
||||||
if (!status.ok()) {
|
if (!status.ok()) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
groups[group_file.table_id] = table_schema;
|
groups[table_file.table_id] = table_schema;
|
||||||
}
|
}
|
||||||
group_file.dimension = groups[group_file.table_id].dimension;
|
table_file.dimension = groups[table_file.table_id].dimension;
|
||||||
files.push_back(group_file);
|
files.push_back(table_file);
|
||||||
}
|
}
|
||||||
} catch (std::exception & e) {
|
} catch (std::exception & e) {
|
||||||
LOG(DEBUG) << e.what();
|
LOG(DEBUG) << e.what();
|
||||||
|
|
|
@ -40,7 +40,7 @@ public:
|
||||||
virtual Status FilesToMerge(const std::string& table_id,
|
virtual Status FilesToMerge(const std::string& table_id,
|
||||||
DatePartionedTableFilesSchema& files) override;
|
DatePartionedTableFilesSchema& files) override;
|
||||||
|
|
||||||
virtual Status files_to_index(TableFilesSchema&) override;
|
virtual Status FilesToIndex(TableFilesSchema&) override;
|
||||||
|
|
||||||
virtual Status Archive() override;
|
virtual Status Archive() override;
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
|
|
||||||
virtual Status Archive() = 0;
|
virtual Status Archive() = 0;
|
||||||
|
|
||||||
virtual Status files_to_index(TableFilesSchema&) = 0;
|
virtual Status FilesToIndex(TableFilesSchema&) = 0;
|
||||||
|
|
||||||
virtual Status cleanup() = 0;
|
virtual Status cleanup() = 0;
|
||||||
virtual Status cleanup_ttl_files(uint16_t) = 0;
|
virtual Status cleanup_ttl_files(uint16_t) = 0;
|
||||||
|
|
|
@ -224,7 +224,7 @@ TEST_F(MetaTest, TABLE_FILES_TEST) {
|
||||||
|
|
||||||
meta::TableFilesSchema files;
|
meta::TableFilesSchema files;
|
||||||
|
|
||||||
status = impl_->files_to_index(files);
|
status = impl_->FilesToIndex(files);
|
||||||
ASSERT_TRUE(status.ok());
|
ASSERT_TRUE(status.ok());
|
||||||
ASSERT_EQ(files.size(), to_index_files_cnt);
|
ASSERT_EQ(files.size(), to_index_files_cnt);
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ TEST_F(MetaTest, TABLE_FILES_TEST) {
|
||||||
ASSERT_TRUE(status.ok());
|
ASSERT_TRUE(status.ok());
|
||||||
ASSERT_EQ(dated_files[table_file.date].size(), raw_files_cnt);
|
ASSERT_EQ(dated_files[table_file.date].size(), raw_files_cnt);
|
||||||
|
|
||||||
status = impl_->files_to_index(files);
|
status = impl_->FilesToIndex(files);
|
||||||
ASSERT_TRUE(status.ok());
|
ASSERT_TRUE(status.ok());
|
||||||
ASSERT_EQ(files.size(), to_index_files_cnt);
|
ASSERT_EQ(files.size(), to_index_files_cnt);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue