From 5a5e76fe6a5ca3e0b10ec286522f4bd6d1db33a5 Mon Sep 17 00:00:00 2001 From: Yukikaze-CZR Date: Thu, 28 Nov 2019 14:37:23 +0800 Subject: [PATCH] #552 Server down during building index_type: IVF_PQ using GPU-edition --- CHANGELOG.md | 1 + core/src/index/unittest/test_nsg/test_nsg.cpp | 2 +- core/src/wrapper/ConfAdapter.cpp | 4 +++- core/unittest/wrapper/test_wrapper.cpp | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 808a019204..d2c33d93ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ Please mark all change in change log and use the ticket from JIRA. - \#533 - NSG build failed with MetricType Inner Product - \#543 - client raise exception in shards when search results is empty - \#545 - Avoid dead circle of build index thread when error occurs +- \#552 - Server down during building index_type: IVF_PQ using GPU-edition ## Feature - \#12 - Pure CPU version for Milvus diff --git a/core/src/index/unittest/test_nsg/test_nsg.cpp b/core/src/index/unittest/test_nsg/test_nsg.cpp index 5de826fabe..c69f4b78fa 100644 --- a/core/src/index/unittest/test_nsg/test_nsg.cpp +++ b/core/src/index/unittest/test_nsg/test_nsg.cpp @@ -42,7 +42,7 @@ class NSGInterfaceTest : public DataGen, public ::testing::Test { SetUp() override { // Init_with_default(); #ifdef MILVUS_GPU_VERSION - knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(DEVICEID, 1024 * 1024 * 200, 1024 * 1024 * 600, 2); + knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(DEVICEID, 1024 * 1024 * 200, 1024 * 1024 * 600, 1); #endif Generate(256, 1000000 / 100, 1); index_ = std::make_shared(); diff --git a/core/src/wrapper/ConfAdapter.cpp b/core/src/wrapper/ConfAdapter.cpp index d49747d8f4..89b9c84b9f 100644 --- a/core/src/wrapper/ConfAdapter.cpp +++ b/core/src/wrapper/ConfAdapter.cpp @@ -152,7 +152,9 @@ IVFPQConfAdapter::Match(const TempMetaConf& metaconf) { if (resset.empty()) { // todo(linxj): throw exception here. - return nullptr; + WRAPPER_LOG_ERROR << "The dims of PQ is wrong!"; + throw WrapperException("The dims of PQ is wrong!"); + // return nullptr; } static int64_t compression_level = 1; // 1:low, 2:high if (compression_level == 1) { diff --git a/core/unittest/wrapper/test_wrapper.cpp b/core/unittest/wrapper/test_wrapper.cpp index 37e5c31095..2653852494 100644 --- a/core/unittest/wrapper/test_wrapper.cpp +++ b/core/unittest/wrapper/test_wrapper.cpp @@ -182,6 +182,7 @@ TEST_P(KnowhereWrapperTest, SERIALIZE_TEST) { TEST(whatever, test_config) { milvus::engine::TempMetaConf conf; conf.nprobe = 16; + conf.dim = 128; auto nsg_conf = std::make_shared(); nsg_conf->Match(conf); nsg_conf->MatchSearch(conf, milvus::engine::IndexType::NSG_MIX);