mirror of https://github.com/milvus-io/milvus.git
Merge branch 'branch-0.3.0' into 'branch-0.3.0'
MS-122 fix potential issue See merge request megasearch/vecwise_engine!124 Former-commit-id: 2707b4342ca5c20c44d1bf402aba50d73e95e258pull/191/head
commit
5720d3cccd
|
@ -21,6 +21,8 @@ Please mark all change in change log and use the ticket from JIRA.
|
|||
- MS-92 - Unify behavior of debug and release build
|
||||
- MS-98 - Install all unit test to installation directory
|
||||
- MS-115 - Change is_startup of metric_config switch from true to on
|
||||
- MS-122 - Archive criteria config
|
||||
|
||||
## New Feature
|
||||
|
||||
- MS-57 - Implement index load/search pipeline
|
||||
|
|
|
@ -146,11 +146,16 @@ Status MemManager::InsertVectorsNoLock(const std::string& table_id,
|
|||
|
||||
Status MemManager::ToImmutable() {
|
||||
std::unique_lock<std::mutex> lock(mutex_);
|
||||
MemIdMap temp_map;
|
||||
for (auto& kv: mem_id_map_) {
|
||||
if(kv.second->RowCount() == 0) {
|
||||
temp_map.insert(kv);
|
||||
continue;//empty vector, no need to serialize
|
||||
}
|
||||
immu_mem_list_.push_back(kv.second);
|
||||
}
|
||||
|
||||
mem_id_map_.clear();
|
||||
mem_id_map_.swap(temp_map);
|
||||
return Status::OK();
|
||||
}
|
||||
|
||||
|
@ -168,8 +173,21 @@ Status MemManager::Serialize(std::set<std::string>& table_ids) {
|
|||
}
|
||||
|
||||
Status MemManager::EraseMemVector(const std::string& table_id) {
|
||||
std::unique_lock<std::mutex> lock(mutex_);
|
||||
mem_id_map_.erase(table_id);
|
||||
{//erase MemVector from rapid-insert cache
|
||||
std::unique_lock<std::mutex> lock(mutex_);
|
||||
mem_id_map_.erase(table_id);
|
||||
}
|
||||
|
||||
{//erase MemVector from serialize cache
|
||||
std::unique_lock<std::mutex> lock(serialization_mtx_);
|
||||
MemList temp_list;
|
||||
for (auto& mem : immu_mem_list_) {
|
||||
if(mem->TableId() != table_id) {
|
||||
temp_list.push_back(mem);
|
||||
}
|
||||
}
|
||||
immu_mem_list_.swap(temp_list);
|
||||
}
|
||||
|
||||
return Status::OK();
|
||||
}
|
||||
|
|
|
@ -45,6 +45,8 @@ public:
|
|||
|
||||
const std::string& Location() const { return schema_.location_; }
|
||||
|
||||
std::string TableId() const { return schema_.table_id_; }
|
||||
|
||||
private:
|
||||
MemVectors() = delete;
|
||||
MemVectors(const MemVectors&) = delete;
|
||||
|
|
Loading…
Reference in New Issue