mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-03 17:31:58 +08:00
Merge branch 'branch-0.4.0' into 'branch-0.4.0'
MS-405 Add delete task support See merge request megasearch/milvus!412 Former-commit-id: 923c1c5c04ac3f5d6f676b127160daf1774ff700
This commit is contained in:
commit
13c98ea9df
@ -41,6 +41,8 @@ Please mark all change in change log and use the ticket from JIRA.
|
||||
- MS-400 - Add timestamp record in task state change function
|
||||
- MS-402 - Add dump implementation for TaskTableItem
|
||||
- MS-403 - Add GpuCacheMgr
|
||||
- MS-404 - Release index after search task done avoid memory increment continues
|
||||
- MS-405 - Add delete task support
|
||||
|
||||
## New Feature
|
||||
- MS-343 - Implement ResourceMgr
|
||||
|
||||
@ -17,6 +17,17 @@ ResourceMgr::ResourceMgr()
|
||||
|
||||
}
|
||||
|
||||
uint64_t
|
||||
ResourceMgr::GetNumOfComputeResource() {
|
||||
uint64_t count = 0;
|
||||
for (auto &res : resources_) {
|
||||
if (res->HasExecutor()) {
|
||||
++count;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
ResourceWPtr
|
||||
ResourceMgr::Add(ResourcePtr &&resource) {
|
||||
ResourceWPtr ret(resource);
|
||||
|
||||
@ -35,6 +35,12 @@ public:
|
||||
return disk_resources_;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return account of resource which enable executor;
|
||||
*/
|
||||
uint64_t
|
||||
GetNumOfComputeResource();
|
||||
|
||||
/*
|
||||
* Add resource into Resource Management;
|
||||
* Generate functions on events;
|
||||
|
||||
@ -6,10 +6,14 @@
|
||||
|
||||
#include "DeleteTask.h"
|
||||
|
||||
|
||||
namespace zilliz {
|
||||
namespace milvus {
|
||||
namespace engine {
|
||||
|
||||
XDeleteTask::XDeleteTask(DeleteContextPtr &delete_context)
|
||||
: delete_context_ptr_(delete_context) {}
|
||||
|
||||
void
|
||||
XDeleteTask::Load(LoadType type, uint8_t device_id) {
|
||||
|
||||
@ -17,12 +21,13 @@ XDeleteTask::Load(LoadType type, uint8_t device_id) {
|
||||
|
||||
void
|
||||
XDeleteTask::Execute() {
|
||||
|
||||
delete_context_ptr_->ResourceDone();
|
||||
}
|
||||
|
||||
TaskPtr
|
||||
XDeleteTask::Clone() {
|
||||
return nullptr;
|
||||
auto task = std::make_shared<XDeleteTask>(delete_context_ptr_);
|
||||
return task;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
******************************************************************************/
|
||||
#pragma once
|
||||
|
||||
#include <src/db/scheduler/context/DeleteContext.h>
|
||||
#include "Task.h"
|
||||
|
||||
|
||||
@ -14,6 +15,9 @@ namespace engine {
|
||||
|
||||
class XDeleteTask : public Task {
|
||||
public:
|
||||
explicit
|
||||
XDeleteTask(DeleteContextPtr &delete_context);
|
||||
|
||||
void
|
||||
Load(LoadType type, uint8_t device_id) override;
|
||||
|
||||
@ -22,6 +26,9 @@ public:
|
||||
|
||||
TaskPtr
|
||||
Clone() override;
|
||||
|
||||
public:
|
||||
DeleteContextPtr delete_context_ptr_;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@ -207,6 +207,9 @@ XSearchTask::Execute() {
|
||||
CollectDurationMetrics(index_type_, total_time);
|
||||
|
||||
rc.ElapseFromBegin("totally cost");
|
||||
|
||||
// release index in resource
|
||||
index_engine_ = nullptr;
|
||||
}
|
||||
|
||||
TaskPtr
|
||||
|
||||
@ -35,6 +35,7 @@ public:
|
||||
virtual void
|
||||
Execute() = 0;
|
||||
|
||||
// TODO: dont use this method to support task move
|
||||
virtual TaskPtr
|
||||
Clone() = 0;
|
||||
|
||||
|
||||
@ -22,8 +22,9 @@ TaskConvert(const ScheduleTaskPtr &schedule_task) {
|
||||
return task;
|
||||
}
|
||||
case ScheduleTaskType::kDelete: {
|
||||
// TODO: convert to delete task
|
||||
return nullptr;
|
||||
auto delete_task = std::static_pointer_cast<DeleteTask>(schedule_task);
|
||||
auto task = std::make_shared<XDeleteTask>(delete_task->context_);
|
||||
return task;
|
||||
}
|
||||
default: {
|
||||
// TODO: unexpected !!!
|
||||
|
||||
@ -4,9 +4,11 @@
|
||||
* Proprietary and confidential.
|
||||
******************************************************************************/
|
||||
|
||||
#include "src/db/scheduler/task/IndexLoadTask.h"
|
||||
#include "db/scheduler/task/DeleteTask.h"
|
||||
#include "db/scheduler/task/IndexLoadTask.h"
|
||||
#include "Task.h"
|
||||
#include "SearchTask.h"
|
||||
#include "DeleteTask.h"
|
||||
|
||||
namespace zilliz {
|
||||
namespace milvus {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user