mirror of https://github.com/milvus-io/milvus.git
#331 add exception handle when search fail
parent
8e4c5833fc
commit
93f2ce45f4
core/src
index/knowhere/knowhere/index/vector_index
scheduler/task
|
@ -133,9 +133,11 @@ GPUIVF::search_impl(int64_t n, const float* data, int64_t k, float* distances, i
|
||||||
device_index->nprobe = search_cfg->nprobe;
|
device_index->nprobe = search_cfg->nprobe;
|
||||||
// assert(device_index->getNumProbes() == search_cfg->nprobe);
|
// assert(device_index->getNumProbes() == search_cfg->nprobe);
|
||||||
|
|
||||||
{
|
try {
|
||||||
ResScope rs(res_, gpu_id_);
|
ResScope rs(res_, gpu_id_);
|
||||||
device_index->search(n, (float*)data, k, distances, labels);
|
device_index->search(n, (float*)data, k, distances, labels);
|
||||||
|
} catch (faiss::FaissException& e) {
|
||||||
|
KNOWHERE_THROW_MSG(e.what());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
KNOWHERE_THROW_MSG("Not a GpuIndexIVF type.");
|
KNOWHERE_THROW_MSG("Not a GpuIndexIVF type.");
|
||||||
|
|
|
@ -212,7 +212,13 @@ XSearchTask::Execute() {
|
||||||
ResMgrInst::GetInstance()->GetResource(path().Last())->type() == ResourceType::CPU) {
|
ResMgrInst::GetInstance()->GetResource(path().Last())->type() == ResourceType::CPU) {
|
||||||
hybrid = true;
|
hybrid = true;
|
||||||
}
|
}
|
||||||
index_engine_->Search(nq, vectors, topk, nprobe, output_distance.data(), output_ids.data(), hybrid);
|
Status s =
|
||||||
|
index_engine_->Search(nq, vectors, topk, nprobe, output_distance.data(), output_ids.data(), hybrid);
|
||||||
|
if (!s.ok()) {
|
||||||
|
search_job->GetStatus() = s;
|
||||||
|
search_job->SearchDone(index_id_);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
double span = rc.RecordSection(hdr + ", do search");
|
double span = rc.RecordSection(hdr + ", do search");
|
||||||
// search_job->AccumSearchCost(span);
|
// search_job->AccumSearchCost(span);
|
||||||
|
|
Loading…
Reference in New Issue