From ff3573c921366ff9fa2c0a0549ce4f174899e5a3 Mon Sep 17 00:00:00 2001 From: yukun Date: Mon, 27 Sep 2021 20:30:23 +0800 Subject: [PATCH] Add segcore error messages (#8681) Signed-off-by: fishpenguin --- internal/core/src/indexbuilder/IndexWrapper.cpp | 13 +++++++------ internal/core/src/segcore/SegmentSealedImpl.cpp | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/core/src/indexbuilder/IndexWrapper.cpp b/internal/core/src/indexbuilder/IndexWrapper.cpp index 5c022fd960..7763f345c3 100644 --- a/internal/core/src/indexbuilder/IndexWrapper.cpp +++ b/internal/core/src/indexbuilder/IndexWrapper.cpp @@ -38,7 +38,7 @@ IndexWrapper::IndexWrapper(const char* serialized_type_params, const char* seria AssertInfo(!is_unsupported(index_type, metric_type), index_type + " doesn't support metric: " + metric_type); index_ = knowhere::VecIndexFactory::GetInstance().CreateVecIndex(get_index_type(), index_mode); - Assert(index_ != nullptr); + AssertInfo(index_ != nullptr, "[IndexWrapper]Index is null after create index"); } template // ugly here, ParamsT will just be MapParams later @@ -48,7 +48,7 @@ IndexWrapper::parse_impl(const std::string& serialized_params_str, knowhere::Con ParamsT params; deserialized_success = google::protobuf::TextFormat::ParseFromString(serialized_params_str, ¶ms); - Assert(deserialized_success); + AssertInfo(deserialized_success, "[IndexWrapper]Deserialize params failed"); for (auto i = 0; i < params.params_size(); ++i) { const auto& param = params.params(i); @@ -150,7 +150,7 @@ IndexWrapper::get_config_by_name(std::string name) { int64_t IndexWrapper::dim() { auto dimension = get_config_by_name(milvus::knowhere::meta::DIM); - Assert(dimension.has_value()); + AssertInfo(dimension.has_value(), "[IndexWrapper]Dimension doesn't have value"); return (dimension.value()); } @@ -190,7 +190,8 @@ IndexWrapper::BuildWithoutIds(const knowhere::DatasetPtr& dataset) { void IndexWrapper::BuildWithIds(const knowhere::DatasetPtr& dataset) { - Assert(dataset->data().find(milvus::knowhere::meta::IDS) != dataset->data().end()); + AssertInfo(dataset->data().find(milvus::knowhere::meta::IDS) != dataset->data().end(), + "[IndexWrapper]Can't find ids field in dataset"); auto index_type = get_index_type(); auto index_mode = get_index_mode(); config_[knowhere::meta::ROWS] = dataset->Get(knowhere::meta::ROWS); @@ -257,7 +258,7 @@ IndexWrapper::Serialize() { std::string serialized_data; auto ok = ret.SerializeToString(&serialized_data); - Assert(ok); + AssertInfo(ok, "[IndexWrapper]Can't serialize data to string"); auto binary = std::make_unique(); binary->data.resize(serialized_data.length()); @@ -273,7 +274,7 @@ IndexWrapper::Load(const char* serialized_sliced_blob_buffer, int32_t size) { indexcgo::BinarySet blob_buffer; auto ok = blob_buffer.ParseFromString(data); - Assert(ok); + AssertInfo(ok, "[IndexWrapper]Can't parse data from string to blob_buffer"); milvus::knowhere::BinarySet binarySet; for (auto i = 0; i < blob_buffer.datas_size(); i++) { diff --git a/internal/core/src/segcore/SegmentSealedImpl.cpp b/internal/core/src/segcore/SegmentSealedImpl.cpp index 8ba749fb24..36d5c724ff 100644 --- a/internal/core/src/segcore/SegmentSealedImpl.cpp +++ b/internal/core/src/segcore/SegmentSealedImpl.cpp @@ -226,7 +226,8 @@ SegmentSealedImpl::vector_search(int64_t vec_count, AssertInfo(field_meta.is_vector(), "The meta type of vector field is not vector type"); if (get_bit(vecindex_ready_bitset_, field_offset)) { - AssertInfo(vecindexs_.is_ready(field_offset), ""); + AssertInfo(vecindexs_.is_ready(field_offset), + "vector indexes isn't ready for field " + std::to_string(field_offset.get())); query::SearchOnSealed(*schema_, vecindexs_, search_info, query_data, query_count, bitset, output); return; } else if (!get_bit(field_data_ready_bitset_, field_offset)) {