diff --git a/internal/core/src/CMakeLists.txt b/internal/core/src/CMakeLists.txt index 632b723ea3..37d6e36569 100644 --- a/internal/core/src/CMakeLists.txt +++ b/internal/core/src/CMakeLists.txt @@ -18,14 +18,14 @@ include_directories(${MILVUS_ENGINE_SRC}) include_directories(${MILVUS_THIRDPARTY_SRC}) set(FOUND_OPENBLAS "unknown") +add_subdirectory( pb ) add_subdirectory( exceptions ) add_subdirectory( utils ) add_subdirectory( log ) -add_subdirectory( pb ) -add_subdirectory( segcore ) -add_subdirectory( query ) -add_subdirectory( common ) -add_subdirectory( indexbuilder ) add_subdirectory( config ) -add_subdirectory( index ) +add_subdirectory( common ) add_subdirectory( storage ) +add_subdirectory( index ) +add_subdirectory( query ) +add_subdirectory( segcore ) +add_subdirectory( indexbuilder ) diff --git a/internal/core/src/common/CMakeLists.txt b/internal/core/src/common/CMakeLists.txt index af106c30e0..a54067f8ae 100644 --- a/internal/core/src/common/CMakeLists.txt +++ b/internal/core/src/common/CMakeLists.txt @@ -23,6 +23,7 @@ add_library(milvus_common SHARED ${COMMON_SRC}) if ( MSYS ) target_link_libraries(milvus_common milvus_config + milvus_utils milvus_log yaml-cpp boost_bitset_ext @@ -32,6 +33,7 @@ if ( MSYS ) else() target_link_libraries(milvus_common milvus_config + milvus_utils milvus_log yaml-cpp boost_bitset_ext diff --git a/internal/core/src/config/CMakeLists.txt b/internal/core/src/config/CMakeLists.txt index b3685939f4..60f019ef73 100644 --- a/internal/core/src/config/CMakeLists.txt +++ b/internal/core/src/config/CMakeLists.txt @@ -28,7 +28,6 @@ set(CONFIG_SRC add_library(milvus_config STATIC ${CONFIG_SRC}) target_link_libraries(milvus_config + milvus_exceptions knowhere - milvus_proto - milvus_utils ) diff --git a/internal/core/src/exceptions/CMakeLists.txt b/internal/core/src/exceptions/CMakeLists.txt index 5daeb4bb22..b92906ca8f 100644 --- a/internal/core/src/exceptions/CMakeLists.txt +++ b/internal/core/src/exceptions/CMakeLists.txt @@ -20,4 +20,4 @@ set(exceptions_files add_library(milvus_exceptions STATIC ${exceptions_files}) -target_link_libraries(milvus_exceptions PRIVATE milvus_proto) +target_link_libraries(milvus_exceptions milvus_proto) diff --git a/internal/core/src/index/Utils.cpp b/internal/core/src/index/Utils.cpp index 36b3b11f55..b246e21c10 100644 --- a/internal/core/src/index/Utils.cpp +++ b/internal/core/src/index/Utils.cpp @@ -21,7 +21,6 @@ #include "index/Utils.h" #include "index/Meta.h" -#include "pb/index_cgo_msg.pb.h" #include #include "exceptions/EasyAssert.h" diff --git a/internal/core/src/index/VectorMemIndex.cpp b/internal/core/src/index/VectorMemIndex.cpp index c0ce073c0f..d507c2e58a 100644 --- a/internal/core/src/index/VectorMemIndex.cpp +++ b/internal/core/src/index/VectorMemIndex.cpp @@ -25,7 +25,6 @@ #include "common/BitsetView.h" #include "knowhere/index/vector_index/ConfAdapterMgr.h" #include "knowhere/index/vector_index/adapter/VectorAdapter.h" -#include "pb/index_cgo_msg.pb.h" namespace milvus::index { diff --git a/internal/core/src/indexbuilder/ScalarIndexCreator.cpp b/internal/core/src/indexbuilder/ScalarIndexCreator.cpp index d9bae8995e..21378e3c21 100644 --- a/internal/core/src/indexbuilder/ScalarIndexCreator.cpp +++ b/internal/core/src/indexbuilder/ScalarIndexCreator.cpp @@ -14,6 +14,7 @@ #include "index/IndexInfo.h" #include "index/Meta.h" #include "index/Utils.h" +#include "pb/index_cgo_msg.pb.h" #include @@ -22,6 +23,8 @@ namespace milvus::indexbuilder { ScalarIndexCreator::ScalarIndexCreator(DataType dtype, const char* type_params, const char* index_params) : dtype_(dtype) { // TODO: move parse-related logic to a common interface. + proto::indexcgo::TypeParams type_params_; + proto::indexcgo::IndexParams index_params_; milvus::index::ParseFromString(type_params_, std::string(type_params)); milvus::index::ParseFromString(index_params_, std::string(index_params)); diff --git a/internal/core/src/indexbuilder/ScalarIndexCreator.h b/internal/core/src/indexbuilder/ScalarIndexCreator.h index d66038ae61..7c07e2e174 100644 --- a/internal/core/src/indexbuilder/ScalarIndexCreator.h +++ b/internal/core/src/indexbuilder/ScalarIndexCreator.h @@ -12,7 +12,6 @@ #pragma once #include "indexbuilder/IndexCreatorBase.h" -#include "pb/index_cgo_msg.pb.h" #include #include #include @@ -40,8 +39,6 @@ class ScalarIndexCreator : public IndexCreatorBase { private: index::IndexBasePtr index_ = nullptr; - proto::indexcgo::TypeParams type_params_; - proto::indexcgo::IndexParams index_params_; Config config_; DataType dtype_; }; diff --git a/internal/core/src/indexbuilder/VecIndexCreator.cpp b/internal/core/src/indexbuilder/VecIndexCreator.cpp index 0cede95a3e..f91e44c2cc 100644 --- a/internal/core/src/indexbuilder/VecIndexCreator.cpp +++ b/internal/core/src/indexbuilder/VecIndexCreator.cpp @@ -15,6 +15,7 @@ #include "indexbuilder/VecIndexCreator.h" #include "index/Utils.h" #include "index/IndexFactory.h" +#include "pb/index_cgo_msg.pb.h" #ifdef BUILD_DISK_ANN #include "storage/DiskFileManagerImpl.h" @@ -26,6 +27,8 @@ VecIndexCreator::VecIndexCreator(DataType data_type, const char* serialized_type_params, const char* serialized_index_params) : data_type_(data_type) { + proto::indexcgo::TypeParams type_params_; + proto::indexcgo::IndexParams index_params_; milvus::index::ParseFromString(type_params_, std::string(serialized_type_params)); milvus::index::ParseFromString(index_params_, std::string(serialized_index_params)); diff --git a/internal/core/src/indexbuilder/VecIndexCreator.h b/internal/core/src/indexbuilder/VecIndexCreator.h index 14cfe30dc9..a7d47252f4 100644 --- a/internal/core/src/indexbuilder/VecIndexCreator.h +++ b/internal/core/src/indexbuilder/VecIndexCreator.h @@ -19,7 +19,6 @@ #include "indexbuilder/IndexCreatorBase.h" #include "index/VectorIndex.h" #include "index/IndexInfo.h" -#include "pb/index_cgo_msg.pb.h" namespace milvus::indexbuilder { @@ -51,8 +50,6 @@ class VecIndexCreator : public IndexCreatorBase { private: milvus::index::IndexBasePtr index_ = nullptr; - proto::indexcgo::TypeParams type_params_; - proto::indexcgo::IndexParams index_params_; Config config_; DataType data_type_; }; diff --git a/internal/core/src/segcore/load_index_c.cpp b/internal/core/src/segcore/load_index_c.cpp index 2833b62928..62a93eee1f 100644 --- a/internal/core/src/segcore/load_index_c.cpp +++ b/internal/core/src/segcore/load_index_c.cpp @@ -17,7 +17,6 @@ #include "index/IndexFactory.h" #include "storage/Util.h" #include "segcore/load_index_c.h" -#include "pb/index_cgo_msg.pb.h" CStatus NewLoadIndexInfo(CLoadIndexInfo* c_load_index_info) { @@ -200,20 +199,12 @@ AppendIndexFilePath(CLoadIndexInfo c_load_index_info, const char* c_file_path) { } CStatus -AppendIndexInfo( - CLoadIndexInfo c_load_index_info, int64_t index_id, int64_t build_id, int64_t version, const char* c_index_params) { +AppendIndexInfo(CLoadIndexInfo c_load_index_info, int64_t index_id, int64_t build_id, int64_t version) { try { auto load_index_info = (milvus::index::LoadIndexInfo*)c_load_index_info; load_index_info->index_id = index_id; load_index_info->index_build_id = build_id; load_index_info->index_version = version; - milvus::proto::indexcgo::IndexParams index_params; - milvus::index::ParseFromString(index_params, c_index_params); - - for (auto i = 0; i < index_params.params().size(); i++) { - auto& param = index_params.params(i); - load_index_info->index_params[param.key()] = param.value(); - } auto status = CStatus(); status.error_code = Success; diff --git a/internal/core/src/segcore/load_index_c.h b/internal/core/src/segcore/load_index_c.h index dbcab1ea25..e9f46ebd6a 100644 --- a/internal/core/src/segcore/load_index_c.h +++ b/internal/core/src/segcore/load_index_c.h @@ -41,8 +41,7 @@ AppendFieldInfo(CLoadIndexInfo c_load_index_info, enum CDataType field_type); CStatus -AppendIndexInfo( - CLoadIndexInfo c_load_index_info, int64_t index_id, int64_t build_id, int64_t version, const char* index_params); +AppendIndexInfo(CLoadIndexInfo c_load_index_info, int64_t index_id, int64_t build_id, int64_t version); CStatus AppendIndex(CLoadIndexInfo c_load_index_info, CBinarySet c_binary_set); diff --git a/internal/core/src/utils/CMakeLists.txt b/internal/core/src/utils/CMakeLists.txt index 08a7ba6716..83934e00f0 100644 --- a/internal/core/src/utils/CMakeLists.txt +++ b/internal/core/src/utils/CMakeLists.txt @@ -15,4 +15,3 @@ aux_source_directory( ${MILVUS_ENGINE_SRC}/utils UTILS_FILES ) add_library( milvus_utils STATIC ${UTILS_FILES} ) -target_link_libraries( milvus_utils PRIVATE milvus_exceptions) diff --git a/internal/querynode/load_index_info.go b/internal/querynode/load_index_info.go index 94e9ad9ae3..f3306faee5 100644 --- a/internal/querynode/load_index_info.go +++ b/internal/querynode/load_index_info.go @@ -28,11 +28,7 @@ import ( "path/filepath" "unsafe" - "github.com/golang/protobuf/proto" - - "github.com/milvus-io/milvus/api/commonpb" "github.com/milvus-io/milvus/api/schemapb" - "github.com/milvus-io/milvus/internal/proto/indexcgopb" "github.com/milvus-io/milvus/internal/proto/querypb" ) @@ -65,11 +61,18 @@ func (li *LoadIndexInfo) appendLoadIndexInfo(bytesIndex [][]byte, indexInfo *que return err } - err = li.appendIndexInfo(indexInfo.IndexID, indexInfo.BuildID, indexInfo.IndexVersion, indexInfo.IndexParams) + err = li.appendIndexInfo(indexInfo.IndexID, indexInfo.BuildID, indexInfo.IndexVersion) if err != nil { return err } + for _, param := range indexInfo.IndexParams { + err = li.appendIndexParam(param.Key, param.Value) + if err != nil { + return err + } + } + err = li.appendIndexData(bytesIndex, indexPaths) return err } @@ -84,20 +87,12 @@ func (li *LoadIndexInfo) appendIndexParam(indexKey string, indexValue string) er return HandleCStatus(&status, "AppendIndexParam failed") } -func (li *LoadIndexInfo) appendIndexInfo(indexID int64, buildID int64, indexVersion int64, indexParams []*commonpb.KeyValuePair) error { - protoIndexParams := &indexcgopb.IndexParams{ - Params: indexParams, - } - - indexParamsStr := proto.MarshalTextString(protoIndexParams) - indexParamsPointer := C.CString(indexParamsStr) - defer C.free(unsafe.Pointer(indexParamsPointer)) - +func (li *LoadIndexInfo) appendIndexInfo(indexID int64, buildID int64, indexVersion int64) error { cIndexID := C.int64_t(indexID) cBuildID := C.int64_t(buildID) cIndexVersion := C.int64_t(indexVersion) - status := C.AppendIndexInfo(li.cLoadIndexInfo, cIndexID, cBuildID, cIndexVersion, indexParamsPointer) + status := C.AppendIndexInfo(li.cLoadIndexInfo, cIndexID, cBuildID, cIndexVersion) return HandleCStatus(&status, "AppendIndexInfo failed") }