From 8a8fe6d05fd257a535e86aefdf8c6664a6714751 Mon Sep 17 00:00:00 2001 From: Bingyi Sun Date: Wed, 19 Feb 2025 15:54:52 +0800 Subject: [PATCH] fix: Skip create primary key index when loading pk index (#39922) issue: https://github.com/milvus-io/milvus/issues/39907 pr: https://github.com/milvus-io/milvus/pull/39921 Signed-off-by: sunby --- .../src/segcore/ChunkedSegmentSealedImpl.cpp | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/internal/core/src/segcore/ChunkedSegmentSealedImpl.cpp b/internal/core/src/segcore/ChunkedSegmentSealedImpl.cpp index 71d2bc84ef891..6b2170a532499 100644 --- a/internal/core/src/segcore/ChunkedSegmentSealedImpl.cpp +++ b/internal/core/src/segcore/ChunkedSegmentSealedImpl.cpp @@ -192,46 +192,6 @@ ChunkedSegmentSealedImpl::LoadScalarIndex(const LoadIndexInfo& info) { scalar_indexings_[field_id] = std::move(const_cast(info).index); - // reverse pk from scalar index and set pks to offset - if (schema_->get_primary_field_id() == field_id) { - AssertInfo(field_id.get() != -1, "Primary key is -1"); - switch (field_meta.get_data_type()) { - case DataType::INT64: { - auto int64_index = dynamic_cast*>( - scalar_indexings_[field_id].get()); - if (!is_sorted_by_pk_ && insert_record_.empty_pks() && - int64_index->HasRawData()) { - for (int i = 0; i < row_count; ++i) { - auto raw = int64_index->Reverse_Lookup(i); - AssertInfo(raw.has_value(), "pk not found"); - insert_record_.insert_pk(raw.value(), i); - } - insert_record_.seal_pks(); - } - break; - } - case DataType::VARCHAR: { - auto string_index = - dynamic_cast*>( - scalar_indexings_[field_id].get()); - if (!is_sorted_by_pk_ && insert_record_.empty_pks() && - string_index->HasRawData()) { - for (int i = 0; i < row_count; ++i) { - auto raw = string_index->Reverse_Lookup(i); - AssertInfo(raw.has_value(), "pk not found"); - insert_record_.insert_pk(raw.value(), i); - } - insert_record_.seal_pks(); - } - break; - } - default: { - PanicInfo(DataTypeInvalid, - fmt::format("unsupported primary key type {}", - field_meta.get_data_type())); - } - } - } set_bit(index_ready_bitset_, field_id, true); update_row_count(row_count);