mirror of https://github.com/milvus-io/milvus.git
feat(db): add size api for meta
Former-commit-id: 0b240dbf664348f65a70e57a5d545857469ad37bpull/191/head
parent
0a7f334697
commit
e15c445fb5
|
@ -476,20 +476,11 @@ Status DBMetaImpl::archive_files() {
|
|||
}
|
||||
if (criteria == "disk") {
|
||||
size_t G = 1024*1024*1024UL;
|
||||
long unsigned int sum = 0;
|
||||
try {
|
||||
auto sum_c = ConnectorPtr->sum(
|
||||
&GroupFileSchema::rows,
|
||||
where(
|
||||
c(&GroupFileSchema::file_type) != (int)GroupFileSchema::TO_DELETE
|
||||
));
|
||||
sum = *sum_c;
|
||||
} catch (std::exception & e) {
|
||||
LOG(DEBUG) << e.what();
|
||||
throw e;
|
||||
}
|
||||
long sum = 0;
|
||||
size(sum);
|
||||
|
||||
// PXU TODO: refactor rows
|
||||
auto to_delete = sum - limit*G/sizeof(float);
|
||||
auto to_delete = (sum - limit*G)/sizeof(float);
|
||||
discard_files_of_size(to_delete);
|
||||
}
|
||||
}
|
||||
|
@ -497,6 +488,22 @@ Status DBMetaImpl::archive_files() {
|
|||
return Status::OK();
|
||||
}
|
||||
|
||||
Status DBMetaImpl::size(long& result) {
|
||||
try {
|
||||
auto sum_c = ConnectorPtr->sum(
|
||||
&GroupFileSchema::rows,
|
||||
where(
|
||||
c(&GroupFileSchema::file_type) != (int)GroupFileSchema::TO_DELETE
|
||||
));
|
||||
result = *sum_c*sizeof(float);
|
||||
} catch (std::exception & e) {
|
||||
LOG(DEBUG) << e.what();
|
||||
throw e;
|
||||
}
|
||||
|
||||
return Status::OK();
|
||||
}
|
||||
|
||||
Status DBMetaImpl::discard_files_of_size(long to_discard_size) {
|
||||
LOG(DEBUG) << "Abort to discard size=" << to_discard_size;
|
||||
if (to_discard_size <= 0) {
|
||||
|
|
|
@ -52,6 +52,8 @@ public:
|
|||
|
||||
virtual Status archive_files() override;
|
||||
|
||||
virtual Status size(long& result) override;
|
||||
|
||||
virtual Status cleanup() override;
|
||||
|
||||
virtual Status cleanup_ttl_files(uint16_t seconds) override;
|
||||
|
|
|
@ -261,6 +261,11 @@ Status LocalMetaImpl::drop_all() {
|
|||
return Status::OK();
|
||||
}
|
||||
|
||||
Status LocalMetaImpl::size(long& result) {
|
||||
// PXU TODO
|
||||
return Status::OK();
|
||||
}
|
||||
|
||||
Status LocalMetaImpl::count(const std::string& group_id, long& result) {
|
||||
// PXU TODO
|
||||
return Status::OK();
|
||||
|
|
|
@ -55,6 +55,8 @@ public:
|
|||
|
||||
virtual Status drop_all() override;
|
||||
|
||||
virtual Status size(long& result) override;
|
||||
|
||||
private:
|
||||
|
||||
Status GetGroupMetaInfoByPath(const std::string& path, GroupSchema& group_info);
|
||||
|
|
|
@ -93,6 +93,8 @@ public:
|
|||
virtual Status files_to_merge(const std::string& group_id,
|
||||
DatePartionedGroupFilesSchema& files) = 0;
|
||||
|
||||
virtual Status size(long& result) = 0;
|
||||
|
||||
virtual Status archive_files() = 0;
|
||||
|
||||
virtual Status files_to_index(GroupFilesSchema&) = 0;
|
||||
|
|
Loading…
Reference in New Issue