diff --git a/cpp/src/scheduler/JobMgr.cpp b/cpp/src/scheduler/JobMgr.cpp index 25a4932f03..bf22f7be2e 100644 --- a/cpp/src/scheduler/JobMgr.cpp +++ b/cpp/src/scheduler/JobMgr.cpp @@ -66,12 +66,10 @@ JobMgr::worker_function() { } auto tasks = build_task(job); - auto disk_list = res_mgr_->GetDiskResources(); - if (!disk_list.empty()) { - if (auto disk = disk_list[0].lock()) { - for (auto& task : tasks) { - disk->task_table().Put(task); - } + // disk resources NEVER be empty. + if (auto disk = res_mgr_->GetDiskResources()[0].lock()) { + for (auto& task : tasks) { + disk->task_table().Put(task); } } } diff --git a/cpp/src/scheduler/ResourceMgr.cpp b/cpp/src/scheduler/ResourceMgr.cpp index 3ea8a56ef8..d9da1f16bf 100644 --- a/cpp/src/scheduler/ResourceMgr.cpp +++ b/cpp/src/scheduler/ResourceMgr.cpp @@ -104,6 +104,10 @@ ResourceMgr::Connect(const std::string& name1, const std::string& name2, Connect void ResourceMgr::Clear() { std::lock_guard lck(resources_mutex_); + if (running_) { + ENGINE_LOG_ERROR << "ResourceMgr is running, cannot clear."; + return; + } disk_resources_.clear(); cpu_resources_.clear(); gpu_resources_.clear(); diff --git a/cpp/src/scheduler/task/SearchTask.cpp b/cpp/src/scheduler/task/SearchTask.cpp index 20962d8a10..ad8038a1f5 100644 --- a/cpp/src/scheduler/task/SearchTask.cpp +++ b/cpp/src/scheduler/task/SearchTask.cpp @@ -34,6 +34,7 @@ static constexpr size_t PARALLEL_REDUCE_BATCH = 1000; std::mutex XSearchTask::merge_mutex_; +// TODO(wxyu): remove unused code // bool // NeedParallelReduce(uint64_t nq, uint64_t topk) { // server::ServerConfig &config = server::ServerConfig::GetInstance();