diff --git a/internal/core/src/query/SearchOnSealed.cpp b/internal/core/src/query/SearchOnSealed.cpp index e2eceb9064..4919884515 100644 --- a/internal/core/src/query/SearchOnSealed.cpp +++ b/internal/core/src/query/SearchOnSealed.cpp @@ -56,6 +56,17 @@ AssembleNegBitset(const BitsetSimple& bitset_simple) { return result; } +// TODO: temporary fix +// remove this when internal destructor bug is fix +static void +ReleaseQueryResult(const knowhere::DatasetPtr& result) { + float* res_dist = result->Get(knowhere::meta::DISTANCE); + free(res_dist); + + int64_t* res_ids = result->Get(knowhere::meta::IDS); + free(res_ids); +} + void SearchOnSealed(const Schema& schema, const segcore::SealedIndexingRecord& record, @@ -95,5 +106,9 @@ SearchOnSealed(const Schema& schema, std::copy_n(ids, total_num, result.internal_seg_offsets_.data()); std::copy_n(distances, total_num, result.result_distances_.data()); + + // TODO: temporary fix + // remove this when internal destructor bug is fix + ReleaseQueryResult(final); } } // namespace milvus::query