From 820d0bc060c05d52778cfb54a93977e20b350d73 Mon Sep 17 00:00:00 2001 From: smellthemoon <64083300+smellthemoon@users.noreply.github.com> Date: Thu, 23 Feb 2023 14:21:46 +0800 Subject: [PATCH] Fix range search error (#22352) Signed-off-by: lixinguo Co-authored-by: lixinguo --- internal/core/src/common/RangeSearchHelper.cpp | 3 +++ internal/core/unittest/test_range_search_sort.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/internal/core/src/common/RangeSearchHelper.cpp b/internal/core/src/common/RangeSearchHelper.cpp index 2032f1aa3..d21f9f2ad 100644 --- a/internal/core/src/common/RangeSearchHelper.cpp +++ b/internal/core/src/common/RangeSearchHelper.cpp @@ -46,7 +46,10 @@ SortRangeSearchResult(DatasetPtr data_set, int64_t topk, int64_t nq, std::string // use p_id and p_dist to GenResultDataset after sorted auto p_id = new int64_t[topk * nq]; + memset(p_id, -1, sizeof(int64_t) * topk * nq); auto p_dist = new float[topk * nq]; + std::fill_n(p_dist, topk * nq, std::numeric_limits::max()); + // cnt means the subscript of p_id and p_dist int cnt = 0; diff --git a/internal/core/unittest/test_range_search_sort.cpp b/internal/core/unittest/test_range_search_sort.cpp index e1a676e3b..167e15317 100644 --- a/internal/core/unittest/test_range_search_sort.cpp +++ b/internal/core/unittest/test_range_search_sort.cpp @@ -37,7 +37,9 @@ RangeSearchSortResultBF(milvus::DatasetPtr data_set, int64_t topk, size_t nq, st auto id = milvus::GetDatasetIDs(data_set); auto dist = milvus::GetDatasetDistance(data_set); auto p_id = new int64_t[topk * nq]; + memset(p_id, -1, sizeof(int64_t) * topk * nq); auto p_dist = new float[topk * nq]; + std::fill_n(p_dist, topk * nq, std::numeric_limits::max()); // cnt means the subscript of p_id and p_dist int cnt = 0; for (int i = 0; i < nq; i++) { -- GitLab