From 68cd15af63908b6c6960e4c2846e152b7f82e3a0 Mon Sep 17 00:00:00 2001 From: bigsheeper Date: Wed, 27 Jan 2021 14:41:56 +0800 Subject: [PATCH] Get index info from master Signed-off-by: bigsheeper --- configs/advanced/data_service.yaml | 2 +- internal/core/src/pb/milvus.pb.cc | 331 ++++++++++++--------- internal/core/src/pb/milvus.pb.h | 61 ++++ internal/dataservice/cluster.go | 8 +- internal/distributed/querynode/service.go | 13 + internal/masterservice/meta_table.go | 18 +- internal/masterservice/task.go | 8 + internal/proto/milvus.proto | 1 + internal/proto/milvuspb/milvus.pb.go | 231 +++++++------- internal/proxyservice/nodeid_allocator.go | 21 +- internal/querynode/query_node.go | 21 +- internal/querynode/segment_manager.go | 53 ++-- internal/querynode/segment_manager_test.go | 2 +- internal/querynode/type_def.go | 6 + 14 files changed, 490 insertions(+), 286 deletions(-) diff --git a/configs/advanced/data_service.yaml b/configs/advanced/data_service.yaml index 49c405e79..bc6b41f7e 100644 --- a/configs/advanced/data_service.yaml +++ b/configs/advanced/data_service.yaml @@ -10,4 +10,4 @@ dataservice: # old name: segmentExpireDuration: 2000 IDAssignExpiration: 2000 # ms insertChannelNumPerCollection: 4 - dataNodeNum: 2 \ No newline at end of file + dataNodeNum: 1 \ No newline at end of file diff --git a/internal/core/src/pb/milvus.pb.cc b/internal/core/src/pb/milvus.pb.cc index b31aa5e86..1a75c3937 100644 --- a/internal/core/src/pb/milvus.pb.cc +++ b/internal/core/src/pb/milvus.pb.cc @@ -373,9 +373,10 @@ static void InitDefaultsscc_info_DescribeSegmentResponse_milvus_2eproto() { ::milvus::proto::milvus::DescribeSegmentResponse::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DescribeSegmentResponse_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_DescribeSegmentResponse_milvus_2eproto}, { - &scc_info_Status_common_2eproto.base,}}; +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_DescribeSegmentResponse_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_DescribeSegmentResponse_milvus_2eproto}, { + &scc_info_Status_common_2eproto.base, + &scc_info_IndexDescription_milvus_2eproto.base,}}; static void InitDefaultsscc_info_DropCollectionRequest_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -1011,6 +1012,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, status_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, indexid_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, index_description_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowSegmentRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -1177,23 +1179,23 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 170, -1, sizeof(::milvus::proto::milvus::ShowPartitionResponse)}, { 178, -1, sizeof(::milvus::proto::milvus::DescribeSegmentRequest)}, { 186, -1, sizeof(::milvus::proto::milvus::DescribeSegmentResponse)}, - { 193, -1, sizeof(::milvus::proto::milvus::ShowSegmentRequest)}, - { 201, -1, sizeof(::milvus::proto::milvus::ShowSegmentResponse)}, - { 208, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)}, - { 218, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)}, - { 228, -1, sizeof(::milvus::proto::milvus::IndexDescription)}, - { 235, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)}, - { 242, -1, sizeof(::milvus::proto::milvus::IndexStateRequest)}, - { 252, -1, sizeof(::milvus::proto::milvus::IndexStateResponse)}, - { 259, -1, sizeof(::milvus::proto::milvus::InsertRequest)}, - { 270, -1, sizeof(::milvus::proto::milvus::InsertResponse)}, - { 278, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)}, - { 286, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)}, - { 292, -1, sizeof(::milvus::proto::milvus::SearchRequest)}, - { 303, -1, sizeof(::milvus::proto::milvus::Hits)}, - { 311, -1, sizeof(::milvus::proto::milvus::SearchResults)}, - { 318, -1, sizeof(::milvus::proto::milvus::FlushRequest)}, - { 326, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, + { 194, -1, sizeof(::milvus::proto::milvus::ShowSegmentRequest)}, + { 202, -1, sizeof(::milvus::proto::milvus::ShowSegmentResponse)}, + { 209, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)}, + { 219, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)}, + { 229, -1, sizeof(::milvus::proto::milvus::IndexDescription)}, + { 236, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)}, + { 243, -1, sizeof(::milvus::proto::milvus::IndexStateRequest)}, + { 253, -1, sizeof(::milvus::proto::milvus::IndexStateResponse)}, + { 260, -1, sizeof(::milvus::proto::milvus::InsertRequest)}, + { 271, -1, sizeof(::milvus::proto::milvus::InsertResponse)}, + { 279, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)}, + { 287, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)}, + { 293, -1, sizeof(::milvus::proto::milvus::SearchRequest)}, + { 304, -1, sizeof(::milvus::proto::milvus::Hits)}, + { 312, -1, sizeof(::milvus::proto::milvus::SearchResults)}, + { 319, -1, sizeof(::milvus::proto::milvus::FlushRequest)}, + { 327, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -1310,120 +1312,122 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "(\t\022\024\n\014partitionIDs\030\003 \003(\003\"m\n\026DescribeSegm" "entRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto." "common.MsgBase\022\024\n\014collectionID\030\002 \001(\003\022\021\n\t" - "segmentID\030\003 \001(\003\"W\n\027DescribeSegmentRespon" - "se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common" - ".Status\022\017\n\007indexID\030\002 \001(\003\"k\n\022ShowSegmentR" - "equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm" - "on.MsgBase\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013part" - "itionID\030\003 \001(\003\"V\n\023ShowSegmentResponse\022+\n\006" - "status\030\001 \001(\0132\033.milvus.proto.common.Statu" - "s\022\022\n\nsegmentIDs\030\002 \003(\003\"\267\001\n\022CreateIndexReq" - "uest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common" - ".MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_" - "name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\0227\n\014extra_" - "params\030\005 \003(\0132!.milvus.proto.common.KeyVa" - "luePair\"\224\001\n\024DescribeIndexRequest\022*\n\004base" - "\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007" - "db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022" - "\n\nfield_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"Y" - "\n\020IndexDescription\022\022\n\nindex_name\030\001 \001(\t\0221" - "\n\006params\030\002 \003(\0132!.milvus.proto.common.Key" - "ValuePair\"\207\001\n\025DescribeIndexResponse\022+\n\006s" + "segmentID\030\003 \001(\003\"\231\001\n\027DescribeSegmentRespo" + "nse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.commo" + "n.Status\022\017\n\007indexID\030\002 \001(\003\022@\n\021index_descr" + "iption\030\003 \001(\0132%.milvus.proto.milvus.Index" + "Description\"k\n\022ShowSegmentRequest\022*\n\004bas" + "e\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\024\n" + "\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001(\003" + "\"V\n\023ShowSegmentResponse\022+\n\006status\030\001 \001(\0132" + "\033.milvus.proto.common.Status\022\022\n\nsegmentI" + "Ds\030\002 \003(\003\"\267\001\n\022CreateIndexRequest\022*\n\004base\030" + "\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007d" + "b_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n" + "\nfield_name\030\004 \001(\t\0227\n\014extra_params\030\005 \003(\0132" + "!.milvus.proto.common.KeyValuePair\"\224\001\n\024D" + "escribeIndexRequest\022*\n\004base\030\001 \001(\0132\034.milv" + "us.proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t" + "\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfield_name\030" + "\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"Y\n\020IndexDescri" + "ption\022\022\n\nindex_name\030\001 \001(\t\0221\n\006params\030\002 \003(" + "\0132!.milvus.proto.common.KeyValuePair\"\207\001\n" + "\025DescribeIndexResponse\022+\n\006status\030\001 \001(\0132\033" + ".milvus.proto.common.Status\022A\n\022index_des" + "criptions\030\002 \003(\0132%.milvus.proto.milvus.In" + "dexDescription\"\221\001\n\021IndexStateRequest\022*\n\004" + "base\030\001 \001(\0132\034.milvus.proto.common.MsgBase" + "\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001" + "(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001" + "(\t\"q\n\022IndexStateResponse\022+\n\006status\030\001 \001(\013" + "2\033.milvus.proto.common.Status\022.\n\005state\030\002" + " \001(\0162\037.milvus.proto.common.IndexState\"\275\001" + "\n\rInsertRequest\022*\n\004base\030\001 \001(\0132\034.milvus.p" + "roto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017" + "collection_name\030\003 \001(\t\022\026\n\016partition_name\030" + "\004 \001(\t\022+\n\010row_data\030\005 \003(\0132\031.milvus.proto.c" + "ommon.Blob\022\021\n\thash_keys\030\006 \003(\r\"e\n\016InsertR" + "esponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.c" + "ommon.Status\022\023\n\013rowID_begin\030\002 \001(\003\022\021\n\trow" + "ID_end\030\003 \001(\003\"c\n\020PlaceholderValue\022\013\n\003tag\030" + "\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvus.proto.milvu" + "s.PlaceholderType\022\016\n\006values\030\003 \003(\014\"O\n\020Pla" + "ceholderGroup\022;\n\014placeholders\030\001 \003(\0132%.mi" + "lvus.proto.milvus.PlaceholderValue\"\246\001\n\rS" + "earchRequest\022*\n\004base\030\001 \001(\0132\034.milvus.prot" + "o.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017col" + "lection_name\030\003 \001(\t\022\027\n\017partition_names\030\004 " + "\003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n\021placeholder_group\030\006 " + "\001(\014\"5\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n\010row_data\030\002 \003" + "(\014\022\016\n\006scores\030\003 \003(\002\"J\n\rSearchResults\022+\n\006s" "tatus\030\001 \001(\0132\033.milvus.proto.common.Status" - "\022A\n\022index_descriptions\030\002 \003(\0132%.milvus.pr" - "oto.milvus.IndexDescription\"\221\001\n\021IndexSta" - "teRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.c" - "ommon.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collec" - "tion_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\ni" - "ndex_name\030\005 \001(\t\"q\n\022IndexStateResponse\022+\n" - "\006status\030\001 \001(\0132\033.milvus.proto.common.Stat" - "us\022.\n\005state\030\002 \001(\0162\037.milvus.proto.common." - "IndexState\"\275\001\n\rInsertRequest\022*\n\004base\030\001 \001" - "(\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_n" - "ame\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016pa" - "rtition_name\030\004 \001(\t\022+\n\010row_data\030\005 \003(\0132\031.m" - "ilvus.proto.common.Blob\022\021\n\thash_keys\030\006 \003" - "(\r\"e\n\016InsertResponse\022+\n\006status\030\001 \001(\0132\033.m" - "ilvus.proto.common.Status\022\023\n\013rowID_begin" - "\030\002 \001(\003\022\021\n\trowID_end\030\003 \001(\003\"c\n\020Placeholder" - "Value\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvu" - "s.proto.milvus.PlaceholderType\022\016\n\006values" - "\030\003 \003(\014\"O\n\020PlaceholderGroup\022;\n\014placeholde" - "rs\030\001 \003(\0132%.milvus.proto.milvus.Placehold" - "erValue\"\246\001\n\rSearchRequest\022*\n\004base\030\001 \001(\0132" - "\034.milvus.proto.common.MsgBase\022\017\n\007db_name" - "\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\027\n\017parti" - "tion_names\030\004 \003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n\021placeho" - "lder_group\030\006 \001(\014\"5\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n" - "\010row_data\030\002 \003(\014\022\016\n\006scores\030\003 \003(\002\"J\n\rSearc" - "hResults\022+\n\006status\030\001 \001(\0132\033.milvus.proto." - "common.Status\022\014\n\004hits\030\002 \003(\014\"d\n\014FlushRequ" - "est\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common." - "MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_n" - "ame\030\003 \001(\t\"r\n\024RegisterLinkResponse\022-\n\007add" - "ress\030\001 \001(\0132\034.milvus.proto.common.Address" - "\022+\n\006status\030\002 \001(\0132\033.milvus.proto.common.S" - "tatus*@\n\017PlaceholderType\022\010\n\004NONE\020\000\022\021\n\rVE" - "CTOR_BINARY\020d\022\020\n\014VECTOR_FLOAT\020e2\357\020\n\rMilv" - "usService\022_\n\020CreateCollection\022,.milvus.p" - "roto.milvus.CreateCollectionRequest\032\033.mi" - "lvus.proto.common.Status\"\000\022[\n\016DropCollec" - "tion\022*.milvus.proto.milvus.DropCollectio" - "nRequest\032\033.milvus.proto.common.Status\"\000\022" - "_\n\rHasCollection\022).milvus.proto.milvus.H" - "asCollectionRequest\032!.milvus.proto.milvu" - "s.BoolResponse\"\000\022[\n\016LoadCollection\022*.mil" - "vus.proto.milvus.LoadCollectionRequest\032\033" - ".milvus.proto.common.Status\"\000\022a\n\021Release" - "Collection\022-.milvus.proto.milvus.Release" - "CollectionRequest\032\033.milvus.proto.common." - "Status\"\000\022w\n\022DescribeCollection\022..milvus." - "proto.milvus.DescribeCollectionRequest\032/" - ".milvus.proto.milvus.DescribeCollectionR" - "esponse\"\000\022v\n\027GetCollectionStatistics\022+.m" - "ilvus.proto.milvus.CollectionStatsReques" - "t\032,.milvus.proto.milvus.CollectionStatsR" - "esponse\"\000\022l\n\017ShowCollections\022*.milvus.pr" - "oto.milvus.ShowCollectionRequest\032+.milvu" - "s.proto.milvus.ShowCollectionResponse\"\000\022" - "]\n\017CreatePartition\022+.milvus.proto.milvus" - ".CreatePartitionRequest\032\033.milvus.proto.c" - "ommon.Status\"\000\022Y\n\rDropPartition\022).milvus" - ".proto.milvus.DropPartitionRequest\032\033.mil" - "vus.proto.common.Status\"\000\022]\n\014HasPartitio" - "n\022(.milvus.proto.milvus.HasPartitionRequ" - "est\032!.milvus.proto.milvus.BoolResponse\"\000" - "\022Y\n\016LoadPartitions\022(.milvus.proto.milvus" - ".LoadPartitonRequest\032\033.milvus.proto.comm" - "on.Status\"\000\022`\n\021ReleasePartitions\022,.milvu" - "s.proto.milvus.ReleasePartitionRequest\032\033" - ".milvus.proto.common.Status\"\000\022s\n\026GetPart" - "itionStatistics\022*.milvus.proto.milvus.Pa" - "rtitionStatsRequest\032+.milvus.proto.milvu" - "s.PartitionStatsResponse\"\000\022i\n\016ShowPartit" - "ions\022).milvus.proto.milvus.ShowPartition" - "Request\032*.milvus.proto.milvus.ShowPartit" - "ionResponse\"\000\022U\n\013CreateIndex\022\'.milvus.pr" - "oto.milvus.CreateIndexRequest\032\033.milvus.p" - "roto.common.Status\"\000\022h\n\rDescribeIndex\022)." - "milvus.proto.milvus.DescribeIndexRequest" - "\032*.milvus.proto.milvus.DescribeIndexResp" - "onse\"\000\022b\n\rGetIndexState\022&.milvus.proto.m" - "ilvus.IndexStateRequest\032\'.milvus.proto.m" - "ilvus.IndexStateResponse\"\000\022S\n\006Insert\022\".m" - "ilvus.proto.milvus.InsertRequest\032#.milvu" - "s.proto.milvus.InsertResponse\"\000\022R\n\006Searc" - "h\022\".milvus.proto.milvus.SearchRequest\032\"." - "milvus.proto.milvus.SearchResults\"\000\022I\n\005F" - "lush\022!.milvus.proto.milvus.FlushRequest\032" - "\033.milvus.proto.common.Status\"\000\022Q\n\014GetDdC" - "hannel\022\032.milvus.proto.common.Empty\032#.mil" - "vus.proto.milvus.StringResponse\"\0002g\n\014Pro" - "xyService\022W\n\014RegisterLink\022\032.milvus.proto" - ".common.Empty\032).milvus.proto.milvus.Regi" - "sterLinkResponse\"\000BBZ@github.com/zillizt" - "ech/milvus-distributed/internal/proto/mi" - "lvuspbb\006proto3" + "\022\014\n\004hits\030\002 \003(\014\"d\n\014FlushRequest\022*\n\004base\030\001" + " \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007db" + "_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\"r\n\024" + "RegisterLinkResponse\022-\n\007address\030\001 \001(\0132\034." + "milvus.proto.common.Address\022+\n\006status\030\002 " + "\001(\0132\033.milvus.proto.common.Status*@\n\017Plac" + "eholderType\022\010\n\004NONE\020\000\022\021\n\rVECTOR_BINARY\020d" + "\022\020\n\014VECTOR_FLOAT\020e2\357\020\n\rMilvusService\022_\n\020" + "CreateCollection\022,.milvus.proto.milvus.C" + "reateCollectionRequest\032\033.milvus.proto.co" + "mmon.Status\"\000\022[\n\016DropCollection\022*.milvus" + ".proto.milvus.DropCollectionRequest\032\033.mi" + "lvus.proto.common.Status\"\000\022_\n\rHasCollect" + "ion\022).milvus.proto.milvus.HasCollectionR" + "equest\032!.milvus.proto.milvus.BoolRespons" + "e\"\000\022[\n\016LoadCollection\022*.milvus.proto.mil" + "vus.LoadCollectionRequest\032\033.milvus.proto" + ".common.Status\"\000\022a\n\021ReleaseCollection\022-." + "milvus.proto.milvus.ReleaseCollectionReq" + "uest\032\033.milvus.proto.common.Status\"\000\022w\n\022D" + "escribeCollection\022..milvus.proto.milvus." + "DescribeCollectionRequest\032/.milvus.proto" + ".milvus.DescribeCollectionResponse\"\000\022v\n\027" + "GetCollectionStatistics\022+.milvus.proto.m" + "ilvus.CollectionStatsRequest\032,.milvus.pr" + "oto.milvus.CollectionStatsResponse\"\000\022l\n\017" + "ShowCollections\022*.milvus.proto.milvus.Sh" + "owCollectionRequest\032+.milvus.proto.milvu" + "s.ShowCollectionResponse\"\000\022]\n\017CreatePart" + "ition\022+.milvus.proto.milvus.CreatePartit" + "ionRequest\032\033.milvus.proto.common.Status\"" + "\000\022Y\n\rDropPartition\022).milvus.proto.milvus" + ".DropPartitionRequest\032\033.milvus.proto.com" + "mon.Status\"\000\022]\n\014HasPartition\022(.milvus.pr" + "oto.milvus.HasPartitionRequest\032!.milvus." + "proto.milvus.BoolResponse\"\000\022Y\n\016LoadParti" + "tions\022(.milvus.proto.milvus.LoadPartiton" + "Request\032\033.milvus.proto.common.Status\"\000\022`" + "\n\021ReleasePartitions\022,.milvus.proto.milvu" + "s.ReleasePartitionRequest\032\033.milvus.proto" + ".common.Status\"\000\022s\n\026GetPartitionStatisti" + "cs\022*.milvus.proto.milvus.PartitionStatsR" + "equest\032+.milvus.proto.milvus.PartitionSt" + "atsResponse\"\000\022i\n\016ShowPartitions\022).milvus" + ".proto.milvus.ShowPartitionRequest\032*.mil" + "vus.proto.milvus.ShowPartitionResponse\"\000" + "\022U\n\013CreateIndex\022\'.milvus.proto.milvus.Cr" + "eateIndexRequest\032\033.milvus.proto.common.S" + "tatus\"\000\022h\n\rDescribeIndex\022).milvus.proto." + "milvus.DescribeIndexRequest\032*.milvus.pro" + "to.milvus.DescribeIndexResponse\"\000\022b\n\rGet" + "IndexState\022&.milvus.proto.milvus.IndexSt" + "ateRequest\032\'.milvus.proto.milvus.IndexSt" + "ateResponse\"\000\022S\n\006Insert\022\".milvus.proto.m" + "ilvus.InsertRequest\032#.milvus.proto.milvu" + "s.InsertResponse\"\000\022R\n\006Search\022\".milvus.pr" + "oto.milvus.SearchRequest\032\".milvus.proto." + "milvus.SearchResults\"\000\022I\n\005Flush\022!.milvus" + ".proto.milvus.FlushRequest\032\033.milvus.prot" + "o.common.Status\"\000\022Q\n\014GetDdChannel\022\032.milv" + "us.proto.common.Empty\032#.milvus.proto.mil" + "vus.StringResponse\"\0002g\n\014ProxyService\022W\n\014" + "RegisterLink\022\032.milvus.proto.common.Empty" + "\032).milvus.proto.milvus.RegisterLinkRespo" + "nse\"\000BBZ@github.com/zilliztech/milvus-di" + "stributed/internal/proto/milvuspbb\006proto" + "3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = { &::descriptor_table_common_2eproto, @@ -1475,7 +1479,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 7294, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 7361, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 41, 2, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, file_level_metadata_milvus_2eproto, 41, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, @@ -10669,16 +10673,23 @@ void DescribeSegmentRequest::InternalSwap(DescribeSegmentRequest* other) { void DescribeSegmentResponse::InitAsDefaultInstance() { ::milvus::proto::milvus::_DescribeSegmentResponse_default_instance_._instance.get_mutable()->status_ = const_cast< ::milvus::proto::common::Status*>( ::milvus::proto::common::Status::internal_default_instance()); + ::milvus::proto::milvus::_DescribeSegmentResponse_default_instance_._instance.get_mutable()->index_description_ = const_cast< ::milvus::proto::milvus::IndexDescription*>( + ::milvus::proto::milvus::IndexDescription::internal_default_instance()); } class DescribeSegmentResponse::_Internal { public: static const ::milvus::proto::common::Status& status(const DescribeSegmentResponse* msg); + static const ::milvus::proto::milvus::IndexDescription& index_description(const DescribeSegmentResponse* msg); }; const ::milvus::proto::common::Status& DescribeSegmentResponse::_Internal::status(const DescribeSegmentResponse* msg) { return *msg->status_; } +const ::milvus::proto::milvus::IndexDescription& +DescribeSegmentResponse::_Internal::index_description(const DescribeSegmentResponse* msg) { + return *msg->index_description_; +} void DescribeSegmentResponse::clear_status() { if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; @@ -10699,6 +10710,11 @@ DescribeSegmentResponse::DescribeSegmentResponse(const DescribeSegmentResponse& } else { status_ = nullptr; } + if (from.has_index_description()) { + index_description_ = new ::milvus::proto::milvus::IndexDescription(*from.index_description_); + } else { + index_description_ = nullptr; + } indexid_ = from.indexid_; // @@protoc_insertion_point(copy_constructor:milvus.proto.milvus.DescribeSegmentResponse) } @@ -10717,6 +10733,7 @@ DescribeSegmentResponse::~DescribeSegmentResponse() { void DescribeSegmentResponse::SharedDtor() { if (this != internal_default_instance()) delete status_; + if (this != internal_default_instance()) delete index_description_; } void DescribeSegmentResponse::SetCachedSize(int size) const { @@ -10738,6 +10755,10 @@ void DescribeSegmentResponse::Clear() { delete status_; } status_ = nullptr; + if (GetArenaNoVirtual() == nullptr && index_description_ != nullptr) { + delete index_description_; + } + index_description_ = nullptr; indexid_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } @@ -10764,6 +10785,13 @@ const char* DescribeSegmentResponse::_InternalParse(const char* ptr, ::PROTOBUF_ CHK_(ptr); } else goto handle_unusual; continue; + // .milvus.proto.milvus.IndexDescription index_description = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ctx->ParseMessage(mutable_index_description(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -10818,6 +10846,17 @@ bool DescribeSegmentResponse::MergePartialFromCodedStream( break; } + // .milvus.proto.milvus.IndexDescription index_description = 3; + case 3: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( + input, mutable_index_description())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -10856,6 +10895,12 @@ void DescribeSegmentResponse::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->indexid(), output); } + // .milvus.proto.milvus.IndexDescription index_description = 3; + if (this->has_index_description()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, _Internal::index_description(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -10881,6 +10926,13 @@ void DescribeSegmentResponse::SerializeWithCachedSizes( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->indexid(), target); } + // .milvus.proto.milvus.IndexDescription index_description = 3; + if (this->has_index_description()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessageToArray( + 3, _Internal::index_description(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -10909,6 +10961,13 @@ size_t DescribeSegmentResponse::ByteSizeLong() const { *status_); } + // .milvus.proto.milvus.IndexDescription index_description = 3; + if (this->has_index_description()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *index_description_); + } + // int64 indexID = 2; if (this->indexid() != 0) { total_size += 1 + @@ -10946,6 +11005,9 @@ void DescribeSegmentResponse::MergeFrom(const DescribeSegmentResponse& from) { if (from.has_status()) { mutable_status()->::milvus::proto::common::Status::MergeFrom(from.status()); } + if (from.has_index_description()) { + mutable_index_description()->::milvus::proto::milvus::IndexDescription::MergeFrom(from.index_description()); + } if (from.indexid() != 0) { set_indexid(from.indexid()); } @@ -10973,6 +11035,7 @@ void DescribeSegmentResponse::InternalSwap(DescribeSegmentResponse* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); swap(status_, other->status_); + swap(index_description_, other->index_description_); swap(indexid_, other->indexid_); } diff --git a/internal/core/src/pb/milvus.pb.h b/internal/core/src/pb/milvus.pb.h index f335f8a06..3f30ab6d1 100644 --- a/internal/core/src/pb/milvus.pb.h +++ b/internal/core/src/pb/milvus.pb.h @@ -4073,6 +4073,7 @@ class DescribeSegmentResponse : enum : int { kStatusFieldNumber = 1, + kIndexDescriptionFieldNumber = 3, kIndexIDFieldNumber = 2, }; // .milvus.proto.common.Status status = 1; @@ -4083,6 +4084,14 @@ class DescribeSegmentResponse : ::milvus::proto::common::Status* mutable_status(); void set_allocated_status(::milvus::proto::common::Status* status); + // .milvus.proto.milvus.IndexDescription index_description = 3; + bool has_index_description() const; + void clear_index_description(); + const ::milvus::proto::milvus::IndexDescription& index_description() const; + ::milvus::proto::milvus::IndexDescription* release_index_description(); + ::milvus::proto::milvus::IndexDescription* mutable_index_description(); + void set_allocated_index_description(::milvus::proto::milvus::IndexDescription* index_description); + // int64 indexID = 2; void clear_indexid(); ::PROTOBUF_NAMESPACE_ID::int64 indexid() const; @@ -4094,6 +4103,7 @@ class DescribeSegmentResponse : ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::milvus::proto::common::Status* status_; + ::milvus::proto::milvus::IndexDescription* index_description_; ::PROTOBUF_NAMESPACE_ID::int64 indexid_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -10312,6 +10322,57 @@ inline void DescribeSegmentResponse::set_indexid(::PROTOBUF_NAMESPACE_ID::int64 // @@protoc_insertion_point(field_set:milvus.proto.milvus.DescribeSegmentResponse.indexID) } +// .milvus.proto.milvus.IndexDescription index_description = 3; +inline bool DescribeSegmentResponse::has_index_description() const { + return this != internal_default_instance() && index_description_ != nullptr; +} +inline void DescribeSegmentResponse::clear_index_description() { + if (GetArenaNoVirtual() == nullptr && index_description_ != nullptr) { + delete index_description_; + } + index_description_ = nullptr; +} +inline const ::milvus::proto::milvus::IndexDescription& DescribeSegmentResponse::index_description() const { + const ::milvus::proto::milvus::IndexDescription* p = index_description_; + // @@protoc_insertion_point(field_get:milvus.proto.milvus.DescribeSegmentResponse.index_description) + return p != nullptr ? *p : *reinterpret_cast( + &::milvus::proto::milvus::_IndexDescription_default_instance_); +} +inline ::milvus::proto::milvus::IndexDescription* DescribeSegmentResponse::release_index_description() { + // @@protoc_insertion_point(field_release:milvus.proto.milvus.DescribeSegmentResponse.index_description) + + ::milvus::proto::milvus::IndexDescription* temp = index_description_; + index_description_ = nullptr; + return temp; +} +inline ::milvus::proto::milvus::IndexDescription* DescribeSegmentResponse::mutable_index_description() { + + if (index_description_ == nullptr) { + auto* p = CreateMaybeMessage<::milvus::proto::milvus::IndexDescription>(GetArenaNoVirtual()); + index_description_ = p; + } + // @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DescribeSegmentResponse.index_description) + return index_description_; +} +inline void DescribeSegmentResponse::set_allocated_index_description(::milvus::proto::milvus::IndexDescription* index_description) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete index_description_; + } + if (index_description) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + index_description = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, index_description, submessage_arena); + } + + } else { + + } + index_description_ = index_description; + // @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DescribeSegmentResponse.index_description) +} + // ------------------------------------------------------------------- // ShowSegmentRequest diff --git a/internal/dataservice/cluster.go b/internal/dataservice/cluster.go index ef74df537..0ffd22514 100644 --- a/internal/dataservice/cluster.go +++ b/internal/dataservice/cluster.go @@ -41,7 +41,7 @@ func newDataNodeCluster(finishCh chan struct{}) *dataNodeCluster { func (c *dataNodeCluster) Register(ip string, port int64, id int64) { c.mu.Lock() defer c.mu.Unlock() - if !c.checkDataNodeNotExist(ip, port) { + if c.checkDataNodeNotExist(ip, port) { c.nodes = append(c.nodes, &dataNode{ id: id, address: struct { @@ -50,9 +50,9 @@ func (c *dataNodeCluster) Register(ip string, port int64, id int64) { }{ip: ip, port: port}, channelNum: 0, }) - } - if len(c.nodes) == Params.DataNodeNum { - close(c.finishCh) + if len(c.nodes) == Params.DataNodeNum { + close(c.finishCh) + } } } diff --git a/internal/distributed/querynode/service.go b/internal/distributed/querynode/service.go index 01bcdd2fa..d21caf64c 100644 --- a/internal/distributed/querynode/service.go +++ b/internal/distributed/querynode/service.go @@ -5,14 +5,17 @@ import ( "fmt" "log" "net" + "time" "google.golang.org/grpc" "github.com/zilliztech/milvus-distributed/internal/dataservice" grpcdataserviceclient "github.com/zilliztech/milvus-distributed/internal/distributed/dataservice" grpcindexserviceclient "github.com/zilliztech/milvus-distributed/internal/distributed/indexservice/client" + grpcmasterserviceclient "github.com/zilliztech/milvus-distributed/internal/distributed/masterservice" grpcqueryserviceclient "github.com/zilliztech/milvus-distributed/internal/distributed/queryservice/client" "github.com/zilliztech/milvus-distributed/internal/indexservice" + "github.com/zilliztech/milvus-distributed/internal/masterservice" "github.com/zilliztech/milvus-distributed/internal/proto/commonpb" "github.com/zilliztech/milvus-distributed/internal/proto/milvuspb" "github.com/zilliztech/milvus-distributed/internal/proto/querypb" @@ -36,6 +39,16 @@ func NewServer(ctx context.Context) *Server { panic(err) } + masterservice.Params.Init() + masterConnectTimeout := 10 * time.Second + masterClient, err := grpcmasterserviceclient.NewGrpcClient(masterservice.Params.Address, masterConnectTimeout) + if err != nil { + panic(err) + } + if err = server.node.SetMasterService(masterClient); err != nil { + panic(err) + } + indexservice.Params.Init() indexClient := grpcindexserviceclient.NewClient(indexservice.Params.Address) if err := server.node.SetIndexService(indexClient); err != nil { diff --git a/internal/masterservice/meta_table.go b/internal/masterservice/meta_table.go index ecf3b67bb..ba14232b1 100644 --- a/internal/masterservice/meta_table.go +++ b/internal/masterservice/meta_table.go @@ -536,9 +536,12 @@ func (mt *metaTable) GetSegmentIndexInfoByID(segID typeutil.UniqueID, filedID in return pb.SegmentIndexInfo{}, errors.Errorf("segment id %d not has any index", segID) } - if filedID == -1 && idxName == "" { // return any index + if filedID == -1 && idxName == "" { // return default index for _, seg := range *segIdxMap { - return seg, nil + info, ok := mt.indexID2Meta[seg.IndexID] + if ok && info.IndexName == Params.DefaultIndexName { + return seg, nil + } } } else { for idxID, seg := range *segIdxMap { @@ -705,3 +708,14 @@ func (mt *metaTable) GetIndexByName(collName string, fieldName string, indexName } return rst, nil } + +func (mt *metaTable) GetIndexByID(indexID typeutil.UniqueID) (*pb.IndexInfo, error) { + mt.ddLock.RLock() + mt.ddLock.RUnlock() + + indexInfo, ok := mt.indexID2Meta[indexID] + if !ok { + return nil, errors.New("cannot find index, id =" + strconv.FormatInt(indexID, 10)) + } + return &indexInfo, nil +} diff --git a/internal/masterservice/task.go b/internal/masterservice/task.go index 682217db5..d8d8304b5 100644 --- a/internal/masterservice/task.go +++ b/internal/masterservice/task.go @@ -480,6 +480,14 @@ func (t *DescribeSegmentReqTask) Execute() error { return err } t.Rsp.IndexID = segIdxInfo.IndexID + indexInfo, err := t.core.MetaTable.GetIndexByID(segIdxInfo.IndexID) + if err != nil { + return err + } + t.Rsp.IndexDescription = &milvuspb.IndexDescription{ + IndexName: Params.DefaultIndexName, // TODO: set index name + Params: indexInfo.IndexParams, + } return nil } diff --git a/internal/proto/milvus.proto b/internal/proto/milvus.proto index 07f7b8eb8..6cf9e5093 100644 --- a/internal/proto/milvus.proto +++ b/internal/proto/milvus.proto @@ -154,6 +154,7 @@ message DescribeSegmentRequest { message DescribeSegmentResponse { common.Status status = 1; int64 indexID = 2; + IndexDescription index_description = 3; } message ShowSegmentRequest { diff --git a/internal/proto/milvuspb/milvus.pb.go b/internal/proto/milvuspb/milvus.pb.go index 2aac22795..b73147a7f 100644 --- a/internal/proto/milvuspb/milvus.pb.go +++ b/internal/proto/milvuspb/milvus.pb.go @@ -1337,11 +1337,12 @@ func (m *DescribeSegmentRequest) GetSegmentID() int64 { } type DescribeSegmentResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - IndexID int64 `protobuf:"varint,2,opt,name=indexID,proto3" json:"indexID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + IndexID int64 `protobuf:"varint,2,opt,name=indexID,proto3" json:"indexID,omitempty"` + IndexDescription *IndexDescription `protobuf:"bytes,3,opt,name=index_description,json=indexDescription,proto3" json:"index_description,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DescribeSegmentResponse) Reset() { *m = DescribeSegmentResponse{} } @@ -1383,6 +1384,13 @@ func (m *DescribeSegmentResponse) GetIndexID() int64 { return 0 } +func (m *DescribeSegmentResponse) GetIndexDescription() *IndexDescription { + if m != nil { + return m.IndexDescription + } + return nil +} + type ShowSegmentRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` @@ -2400,112 +2408,113 @@ func init() { func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } var fileDescriptor_02345ba45cc0e303 = []byte{ - // 1665 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xdd, 0x6f, 0x1b, 0xc5, - 0x16, 0xcf, 0xda, 0x8e, 0x93, 0x9c, 0xac, 0x1d, 0x67, 0xf2, 0xe5, 0xba, 0xed, 0x6d, 0x3a, 0xf7, - 0xf6, 0x26, 0xfd, 0x4a, 0xae, 0xd2, 0xfb, 0xf9, 0x70, 0xa5, 0x36, 0x71, 0x9a, 0x5a, 0x6d, 0xd3, - 0xdc, 0x75, 0x6e, 0x21, 0x54, 0x95, 0x59, 0x7b, 0x07, 0x7b, 0xe9, 0x7a, 0xd7, 0xec, 0x8c, 0xf3, - 0xd1, 0x27, 0x04, 0x12, 0x48, 0x80, 0xe0, 0x99, 0x57, 0x24, 0x5e, 0x11, 0x14, 0xc4, 0x7f, 0x80, - 0xc4, 0xff, 0x82, 0x10, 0x7f, 0x01, 0x12, 0xda, 0xd9, 0xf5, 0x7a, 0x77, 0x33, 0x1b, 0x9b, 0x1a, - 0x88, 0xf3, 0xe6, 0x39, 0x3e, 0x73, 0xce, 0xef, 0x7c, 0xcd, 0x9c, 0x39, 0x0b, 0x72, 0x53, 0x37, - 0xf6, 0xdb, 0x74, 0xa5, 0x65, 0x5b, 0xcc, 0x42, 0x33, 0xc1, 0xd5, 0x8a, 0xbb, 0x28, 0xc8, 0x35, - 0xab, 0xd9, 0xb4, 0x4c, 0x97, 0x58, 0x90, 0x69, 0xad, 0x41, 0x9a, 0xaa, 0xbb, 0xc2, 0x9f, 0x4b, - 0xb0, 0xb0, 0x61, 0x13, 0x95, 0x91, 0x0d, 0xcb, 0x30, 0x48, 0x8d, 0xe9, 0x96, 0xa9, 0x90, 0xb7, - 0xda, 0x84, 0x32, 0xf4, 0x37, 0x48, 0x55, 0x55, 0x4a, 0xf2, 0xd2, 0xa2, 0xb4, 0x3c, 0xb9, 0x76, - 0x61, 0x25, 0x24, 0xdb, 0x93, 0xf9, 0x90, 0xd6, 0xd7, 0x55, 0x4a, 0x14, 0xce, 0x89, 0x16, 0x60, - 0x4c, 0xab, 0x56, 0x4c, 0xb5, 0x49, 0xf2, 0x89, 0x45, 0x69, 0x79, 0x42, 0x49, 0x6b, 0xd5, 0x6d, - 0xb5, 0x49, 0xd0, 0x12, 0x4c, 0xd5, 0x7c, 0xf9, 0x2e, 0x43, 0x92, 0x33, 0x64, 0xbb, 0x64, 0xce, - 0x38, 0x0f, 0x69, 0x17, 0x5f, 0x3e, 0xb5, 0x28, 0x2d, 0xcb, 0x8a, 0xb7, 0xc2, 0x1f, 0x4a, 0x30, - 0x57, 0xb4, 0xad, 0xd6, 0x50, 0xa0, 0xc4, 0x1f, 0x48, 0x30, 0x7b, 0x4f, 0xa5, 0xc3, 0x01, 0x66, - 0x0f, 0xe4, 0x75, 0xcb, 0x32, 0x14, 0x42, 0x5b, 0x96, 0x49, 0x09, 0xba, 0x05, 0x69, 0xca, 0x54, - 0xd6, 0xa6, 0x1e, 0x8a, 0xf3, 0x42, 0x14, 0x65, 0xce, 0xa2, 0x78, 0xac, 0x68, 0x16, 0x46, 0xf7, - 0x55, 0xa3, 0xed, 0x82, 0x18, 0x57, 0xdc, 0x05, 0x7e, 0x02, 0xd9, 0x32, 0xb3, 0x75, 0xb3, 0xfe, - 0x1b, 0x0a, 0x9f, 0xe8, 0x08, 0xff, 0x44, 0x82, 0x73, 0x45, 0x42, 0x6b, 0xb6, 0x5e, 0x1d, 0x8e, - 0xe4, 0xc3, 0xdf, 0x48, 0x50, 0x10, 0x21, 0x1a, 0xc4, 0xf6, 0xff, 0xfa, 0x09, 0x9d, 0xe0, 0x9b, - 0xae, 0x84, 0x37, 0x79, 0xc5, 0xd8, 0xd5, 0x56, 0xe6, 0x84, 0x4e, 0xde, 0x23, 0x0c, 0x72, 0x17, - 0x64, 0xa9, 0xc8, 0x81, 0x27, 0x95, 0x10, 0x8d, 0xd7, 0xc6, 0x03, 0x4b, 0xd5, 0x86, 0xc3, 0x89, - 0x1f, 0x4b, 0x90, 0x57, 0x88, 0x41, 0x54, 0x3a, 0x24, 0x51, 0xfd, 0x48, 0x82, 0xf9, 0x80, 0x7f, - 0x99, 0xca, 0xe8, 0x69, 0xc2, 0x79, 0xdf, 0x39, 0x71, 0xa3, 0x70, 0x06, 0xc9, 0xb0, 0x7f, 0xc1, - 0xa8, 0xf3, 0x8b, 0xe6, 0x13, 0x8b, 0xc9, 0xe5, 0xc9, 0xb5, 0xcb, 0xc2, 0x3d, 0xf7, 0xc9, 0xd1, - 0x63, 0xa7, 0xea, 0x76, 0x54, 0xdd, 0x56, 0x5c, 0x7e, 0x5c, 0x85, 0xb9, 0x72, 0xc3, 0x3a, 0xf8, - 0x3d, 0xa3, 0x84, 0x0f, 0x61, 0x3e, 0xaa, 0x63, 0x10, 0x5b, 0xaf, 0x42, 0x2e, 0xe2, 0x65, 0xd7, - 0xec, 0x09, 0x65, 0x2a, 0xec, 0x66, 0x8a, 0xbf, 0x76, 0xc2, 0xce, 0x6f, 0xb6, 0x1d, 0xd5, 0x66, - 0xfa, 0x69, 0x5f, 0x6c, 0x57, 0x20, 0xdb, 0xea, 0xe0, 0x70, 0xf9, 0x52, 0x9c, 0x2f, 0xe3, 0x53, - 0xb9, 0xbf, 0xbe, 0x92, 0x60, 0xd6, 0xb9, 0xe7, 0xce, 0x12, 0xe6, 0x2f, 0x25, 0x98, 0xb9, 0xa7, - 0xd2, 0xb3, 0x04, 0xf9, 0x85, 0x04, 0x33, 0xce, 0x91, 0xe9, 0x62, 0x3e, 0x5d, 0xc8, 0x4b, 0x30, - 0x15, 0x86, 0x4c, 0xf3, 0x29, 0x9e, 0xd2, 0xd9, 0x10, 0x66, 0x8a, 0xbf, 0x95, 0x60, 0xc1, 0x3b, - 0x59, 0x87, 0xc2, 0xd7, 0x7d, 0x03, 0x7f, 0x21, 0xc1, 0x9c, 0x8f, 0xf8, 0xb4, 0x0f, 0xe0, 0x7e, - 0x53, 0xe4, 0x3d, 0x09, 0xe6, 0xa3, 0xa0, 0x4f, 0xe5, 0x98, 0xfe, 0x42, 0x82, 0x59, 0xe7, 0x0c, - 0x1d, 0x8a, 0x98, 0x47, 0xfb, 0x91, 0x94, 0xa0, 0x1f, 0xf9, 0x54, 0x72, 0x2f, 0x96, 0x00, 0xe0, - 0x41, 0x1c, 0x27, 0x48, 0xb3, 0x84, 0x28, 0xcd, 0x1c, 0x6c, 0x3e, 0xa5, 0x54, 0xa4, 0xf9, 0xe4, - 0x62, 0xd2, 0xc1, 0x16, 0xa4, 0xf1, 0x66, 0xa0, 0xd3, 0xe2, 0x95, 0x49, 0xbd, 0x49, 0x4c, 0xf6, - 0xf2, 0xee, 0x8c, 0x3a, 0x23, 0x71, 0xdc, 0x19, 0xe8, 0x02, 0x4c, 0x50, 0x57, 0x8f, 0xdf, 0xbd, - 0x75, 0x09, 0xb8, 0x01, 0x0b, 0xc7, 0xd0, 0x0c, 0xe2, 0xab, 0x3c, 0x8c, 0xe9, 0xa6, 0x46, 0x0e, - 0x7d, 0x30, 0x9d, 0xa5, 0x63, 0x38, 0x72, 0x82, 0xf2, 0x87, 0x18, 0xbd, 0x08, 0x93, 0x01, 0xaf, - 0x7b, 0x66, 0x07, 0x49, 0xf8, 0x4d, 0x98, 0x09, 0xa1, 0x19, 0xc4, 0xe8, 0x3f, 0x01, 0xf8, 0x1e, - 0x75, 0x73, 0x23, 0xa9, 0x04, 0x28, 0xf8, 0x47, 0x09, 0x90, 0xdb, 0x09, 0x94, 0x1c, 0x67, 0x9c, - 0x66, 0xf9, 0x5c, 0x04, 0x78, 0x43, 0x27, 0x86, 0x16, 0x3c, 0x77, 0x26, 0x38, 0x85, 0xff, 0x5d, - 0x04, 0x99, 0x1c, 0x32, 0x5b, 0xad, 0xb4, 0x54, 0x5b, 0x6d, 0xd2, 0xfc, 0x68, 0xbf, 0x47, 0xc5, - 0x24, 0xdf, 0xb6, 0xc3, 0x77, 0xe1, 0xef, 0x9d, 0x1e, 0xc2, 0xcb, 0xaa, 0x61, 0xb7, 0xf8, 0x22, - 0x00, 0xcf, 0x50, 0xf7, 0xef, 0x51, 0xf7, 0x6f, 0x4e, 0xe1, 0x87, 0xb0, 0x01, 0x39, 0x6e, 0x81, - 0x6b, 0x4e, 0xcb, 0x91, 0x1a, 0xd9, 0x22, 0x45, 0xb6, 0xa0, 0xff, 0x40, 0xda, 0xf3, 0x5e, 0xdf, - 0x07, 0xad, 0xb7, 0x01, 0x7f, 0x26, 0xc1, 0x5c, 0xc4, 0x71, 0x83, 0xe4, 0xe5, 0x2e, 0x20, 0x17, - 0xa8, 0xd6, 0x45, 0xdf, 0x41, 0x15, 0x79, 0x06, 0x7a, 0x8b, 0xa8, 0xad, 0xca, 0xb4, 0x1e, 0xa1, - 0x50, 0xfc, 0x9d, 0x04, 0xd3, 0x9c, 0xcf, 0xd1, 0x46, 0xce, 0x6e, 0x68, 0xdf, 0x96, 0x00, 0x05, - 0xed, 0x18, 0xc4, 0xd3, 0xff, 0x70, 0xef, 0x56, 0xd7, 0x92, 0xec, 0xda, 0x25, 0xe1, 0x9e, 0x80, - 0x32, 0x97, 0x1b, 0xff, 0x2c, 0x41, 0xa6, 0x64, 0x52, 0x62, 0xb3, 0xe1, 0xef, 0x47, 0xd0, 0xdf, - 0x61, 0xdc, 0xb6, 0x0e, 0x2a, 0x9a, 0xca, 0x54, 0xef, 0x5c, 0x38, 0x27, 0x84, 0xb7, 0x6e, 0x58, - 0x55, 0x65, 0xcc, 0xb6, 0x0e, 0x8a, 0x2a, 0x53, 0xd1, 0x79, 0x98, 0x68, 0xa8, 0xb4, 0x51, 0x79, - 0x46, 0x8e, 0x68, 0x3e, 0xbd, 0x98, 0x5c, 0xce, 0x28, 0xe3, 0x0e, 0xe1, 0x3e, 0x39, 0xa2, 0xf8, - 0x5d, 0x09, 0xb2, 0x1d, 0xfb, 0x07, 0x71, 0xff, 0x25, 0x98, 0xb4, 0xad, 0x83, 0x52, 0xb1, 0x52, - 0x25, 0x75, 0xdd, 0xf4, 0x6e, 0x04, 0xe0, 0xa4, 0x75, 0x87, 0xe2, 0xa0, 0x70, 0x19, 0x88, 0xa9, - 0x79, 0xb7, 0xc1, 0x38, 0x27, 0x6c, 0x9a, 0x1a, 0xde, 0x87, 0xdc, 0x8e, 0xa1, 0xd6, 0x48, 0xc3, - 0x32, 0x34, 0x62, 0xf3, 0xaa, 0x44, 0x39, 0x48, 0x32, 0xb5, 0xee, 0x15, 0xb7, 0xf3, 0x13, 0xfd, - 0x1b, 0x52, 0xec, 0xa8, 0xd5, 0x89, 0xf0, 0x5f, 0x84, 0xe5, 0x13, 0x10, 0xb3, 0x7b, 0xd4, 0x22, - 0x0a, 0xdf, 0x81, 0xe6, 0x21, 0xcd, 0x07, 0x4e, 0x6e, 0x43, 0x20, 0x2b, 0xde, 0x0a, 0x3f, 0x0d, - 0xe9, 0xdd, 0xb2, 0xad, 0x76, 0x0b, 0x95, 0x40, 0x6e, 0x75, 0x69, 0x8e, 0x13, 0xe2, 0x8b, 0x35, - 0x0a, 0x5a, 0x09, 0x6d, 0xc5, 0x3f, 0x48, 0x90, 0x29, 0x13, 0xd5, 0xae, 0x35, 0xce, 0x42, 0x8f, - 0xee, 0x78, 0x5c, 0xa3, 0x86, 0x57, 0xa6, 0xce, 0x4f, 0x74, 0x1d, 0xa6, 0x03, 0x06, 0x55, 0xea, - 0x8e, 0x83, 0xf2, 0x69, 0x3e, 0x95, 0xcd, 0xb5, 0x22, 0x8e, 0xc3, 0xf7, 0x21, 0x75, 0x4f, 0x67, - 0x5c, 0x8c, 0x73, 0x09, 0x4b, 0xfc, 0x12, 0x76, 0x7e, 0xa2, 0x73, 0x81, 0xbc, 0x4d, 0xf0, 0x00, - 0xf8, 0xc9, 0xc9, 0x87, 0xbd, 0x96, 0xed, 0x45, 0x26, 0xa1, 0x78, 0x2b, 0xfc, 0x6a, 0xd7, 0x73, - 0xb4, 0x6d, 0x30, 0xfa, 0x72, 0x59, 0x89, 0x20, 0xd5, 0xd0, 0xbd, 0x7e, 0x5b, 0x56, 0xf8, 0x6f, - 0xfc, 0x8e, 0x04, 0xf2, 0x5d, 0xa3, 0x4d, 0x4f, 0x33, 0x26, 0x4e, 0xd9, 0xcd, 0x2a, 0xa4, 0xae, - 0x53, 0x46, 0xec, 0x07, 0xba, 0xf9, 0xcc, 0x2f, 0xbe, 0x7f, 0xc2, 0x98, 0xaa, 0x69, 0x36, 0xa1, - 0xf4, 0x44, 0x3c, 0x77, 0x5c, 0x1e, 0xa5, 0xc3, 0x1c, 0x70, 0x4f, 0xa2, 0x6f, 0xf7, 0x5c, 0xbb, - 0x0d, 0x53, 0x91, 0x7a, 0x41, 0xe3, 0x90, 0xda, 0x7e, 0xb4, 0xbd, 0x99, 0x1b, 0x41, 0xd3, 0x90, - 0x79, 0xbc, 0xb9, 0xb1, 0xfb, 0x48, 0xa9, 0xac, 0x97, 0xb6, 0xef, 0x28, 0x7b, 0x39, 0x0d, 0xe5, - 0x40, 0xf6, 0x48, 0x77, 0x1f, 0x3c, 0xba, 0xb3, 0x9b, 0x23, 0x6b, 0x3f, 0xe5, 0x20, 0xf3, 0x90, - 0x2b, 0x2a, 0x13, 0x7b, 0x5f, 0xaf, 0x11, 0x54, 0x81, 0x5c, 0xf4, 0x63, 0x02, 0xba, 0x21, 0x2c, - 0x9e, 0x98, 0x6f, 0x0e, 0x85, 0x93, 0xa0, 0xe3, 0x11, 0xf4, 0x04, 0xb2, 0xe1, 0xaf, 0x00, 0xe8, - 0x9a, 0x50, 0xbc, 0xf0, 0x53, 0x41, 0x2f, 0xe1, 0x15, 0xc8, 0x84, 0x86, 0xfa, 0xe8, 0xaa, 0x50, - 0xb6, 0x68, 0xf0, 0x5f, 0xb8, 0x2c, 0x64, 0x0d, 0xce, 0xe5, 0x5d, 0xf4, 0xe1, 0x39, 0x6d, 0x0c, - 0x7a, 0xe1, 0x30, 0xb7, 0x17, 0x7a, 0x15, 0xa6, 0x8f, 0x8d, 0x5d, 0xd1, 0x4d, 0xa1, 0xfc, 0xb8, - 0xf1, 0x6c, 0x2f, 0x15, 0x07, 0x80, 0x8e, 0x8f, 0xc7, 0xd1, 0x8a, 0x38, 0x02, 0x71, 0x93, 0xfd, - 0xc2, 0x6a, 0xdf, 0xfc, 0xbe, 0xe3, 0xf6, 0x61, 0x61, 0x8b, 0xb0, 0xf0, 0xd4, 0x54, 0xa7, 0x4c, - 0xaf, 0x51, 0x74, 0x5d, 0x9c, 0x5e, 0xc2, 0x79, 0x6f, 0xe1, 0x46, 0x7f, 0xcc, 0xbe, 0x5e, 0x03, - 0xa6, 0xc2, 0xd3, 0x4b, 0x1a, 0x13, 0x31, 0xe1, 0x1c, 0xb5, 0x70, 0xbd, 0x2f, 0x5e, 0x5f, 0xdb, - 0x53, 0x98, 0x8a, 0x0c, 0x2c, 0xe3, 0xac, 0x13, 0x8e, 0x35, 0x7b, 0x45, 0x6f, 0x0f, 0x32, 0xa1, - 0xc9, 0x62, 0x4c, 0x7a, 0x8b, 0xa6, 0x8f, 0xbd, 0x44, 0x3f, 0x05, 0x39, 0x38, 0x00, 0x44, 0xcb, - 0x71, 0x85, 0x73, 0x4c, 0x70, 0x5f, 0x75, 0xb3, 0xe7, 0xd6, 0x8d, 0xbf, 0x99, 0xc6, 0x28, 0x10, - 0x4c, 0xf4, 0x7a, 0x21, 0x7f, 0xdd, 0xaf, 0x9a, 0x80, 0xf4, 0x1b, 0x27, 0x55, 0xcd, 0xaf, 0xf5, - 0x0d, 0x85, 0xf9, 0x2d, 0xc2, 0x42, 0x93, 0x24, 0x2f, 0x75, 0xc5, 0xa9, 0x24, 0x1c, 0x94, 0xc5, - 0xa4, 0x92, 0x78, 0x3e, 0x85, 0x47, 0x90, 0x0e, 0xd9, 0xd0, 0x04, 0x86, 0xc6, 0x04, 0x5b, 0x34, - 0x57, 0x2a, 0x5c, 0xeb, 0x87, 0xd5, 0x57, 0xf5, 0x7f, 0x98, 0x0c, 0x3c, 0xae, 0xd1, 0xd2, 0x09, - 0x19, 0x1b, 0x7c, 0x8c, 0xf6, 0x72, 0x5b, 0x03, 0x32, 0xa1, 0xa7, 0x58, 0x5c, 0xb6, 0x0a, 0xde, - 0xb9, 0x31, 0x06, 0x08, 0x5f, 0x76, 0x78, 0x04, 0x55, 0x21, 0xb3, 0x45, 0x58, 0xf7, 0x75, 0x80, - 0xfe, 0x1a, 0xff, 0x36, 0x0b, 0xbe, 0xb9, 0x0a, 0x4b, 0x3d, 0xf9, 0x7c, 0x1d, 0x65, 0x48, 0xbb, - 0x8d, 0x36, 0xc2, 0x31, 0x9b, 0x02, 0xaf, 0x90, 0xc2, 0x9f, 0x4f, 0xe4, 0xf1, 0x85, 0x2a, 0x90, - 0x76, 0xdb, 0xa4, 0x18, 0xa1, 0xa1, 0xee, 0xb3, 0x70, 0x32, 0x0f, 0xef, 0xb3, 0xf0, 0x08, 0x2a, - 0xc1, 0x28, 0xef, 0x8f, 0x90, 0xb8, 0x30, 0x83, 0xbd, 0x53, 0xaf, 0x08, 0xfe, 0x0f, 0xe4, 0x2d, - 0xc2, 0x8a, 0xda, 0x46, 0x43, 0x35, 0x4d, 0x62, 0xa0, 0x82, 0x90, 0x7d, 0xb3, 0xd9, 0x62, 0x47, - 0x31, 0x16, 0x87, 0xbf, 0x3d, 0xe3, 0x91, 0xb5, 0x3a, 0xc8, 0x3b, 0xb6, 0x75, 0x78, 0xd4, 0xe9, - 0x37, 0x5e, 0x01, 0x39, 0xd8, 0x48, 0x9d, 0xa8, 0xe2, 0x6a, 0x4c, 0x51, 0x1f, 0xef, 0xc3, 0xf0, - 0xc8, 0xfa, 0xfa, 0x6b, 0xb7, 0xeb, 0x3a, 0x6b, 0xb4, 0xab, 0x8e, 0x8c, 0xd5, 0xe7, 0xba, 0x61, - 0xe8, 0xcf, 0x19, 0xa9, 0x35, 0x56, 0xdd, 0x6d, 0x37, 0x35, 0x9d, 0x32, 0x5b, 0xaf, 0xb6, 0x19, - 0xd1, 0x56, 0x75, 0x93, 0x11, 0xdb, 0x54, 0x8d, 0x55, 0x2e, 0xd8, 0xe3, 0x68, 0x55, 0xab, 0x69, - 0xbe, 0xbe, 0xf5, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x3e, 0x9a, 0x14, 0xa2, 0x21, 0x00, - 0x00, + // 1684 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcd, 0x6f, 0xdb, 0x46, + 0x16, 0x37, 0x25, 0x59, 0xb6, 0x9f, 0x29, 0x59, 0x1e, 0x7f, 0x29, 0x4a, 0xb2, 0x71, 0x66, 0x37, + 0x6b, 0xe7, 0xcb, 0x5e, 0x38, 0xfb, 0x79, 0x58, 0x20, 0xb1, 0xe5, 0x38, 0x42, 0x12, 0xc7, 0x4b, + 0x79, 0xb3, 0xeb, 0x0d, 0x02, 0x2d, 0x25, 0xce, 0x4a, 0xdc, 0x50, 0xa4, 0x96, 0x33, 0xf2, 0x47, + 0x4e, 0x8b, 0x5d, 0xa0, 0x05, 0xda, 0xa2, 0x3d, 0xf7, 0x5a, 0xa0, 0xd7, 0xa2, 0x4d, 0x8b, 0x9e, + 0x7a, 0x2d, 0xd0, 0xff, 0xa5, 0x28, 0xfa, 0x17, 0x14, 0x28, 0x38, 0xa4, 0x28, 0x92, 0x1a, 0x5a, + 0x6a, 0xd4, 0xd6, 0xf2, 0x8d, 0xf3, 0xf8, 0xe6, 0xbd, 0xdf, 0xbc, 0x8f, 0x99, 0x37, 0x6f, 0x40, + 0x6e, 0xea, 0xc6, 0x61, 0x9b, 0xae, 0xb5, 0x6c, 0x8b, 0x59, 0x68, 0x2e, 0x38, 0x5a, 0x73, 0x07, + 0x05, 0xb9, 0x66, 0x35, 0x9b, 0x96, 0xe9, 0x12, 0x0b, 0x32, 0xad, 0x35, 0x48, 0x53, 0x75, 0x47, + 0xf8, 0x43, 0x09, 0x96, 0xb6, 0x6c, 0xa2, 0x32, 0xb2, 0x65, 0x19, 0x06, 0xa9, 0x31, 0xdd, 0x32, + 0x15, 0xf2, 0x9f, 0x36, 0xa1, 0x0c, 0xfd, 0x06, 0x52, 0x55, 0x95, 0x92, 0xbc, 0xb4, 0x2c, 0xad, + 0x4e, 0x6f, 0x5c, 0x5a, 0x0b, 0xc9, 0xf6, 0x64, 0x3e, 0xa6, 0xf5, 0x4d, 0x95, 0x12, 0x85, 0x73, + 0xa2, 0x25, 0x98, 0xd0, 0xaa, 0x15, 0x53, 0x6d, 0x92, 0x7c, 0x62, 0x59, 0x5a, 0x9d, 0x52, 0xd2, + 0x5a, 0x75, 0x57, 0x6d, 0x12, 0xb4, 0x02, 0x33, 0x35, 0x5f, 0xbe, 0xcb, 0x90, 0xe4, 0x0c, 0xd9, + 0x2e, 0x99, 0x33, 0x2e, 0x42, 0xda, 0xc5, 0x97, 0x4f, 0x2d, 0x4b, 0xab, 0xb2, 0xe2, 0x8d, 0xf0, + 0xdb, 0x12, 0x2c, 0x14, 0x6d, 0xab, 0x35, 0x12, 0x28, 0xf1, 0x5b, 0x12, 0xcc, 0x3f, 0x50, 0xe9, + 0x68, 0x80, 0x39, 0x00, 0x79, 0xd3, 0xb2, 0x0c, 0x85, 0xd0, 0x96, 0x65, 0x52, 0x82, 0xee, 0x40, + 0x9a, 0x32, 0x95, 0xb5, 0xa9, 0x87, 0xe2, 0xa2, 0x10, 0x45, 0x99, 0xb3, 0x28, 0x1e, 0x2b, 0x9a, + 0x87, 0xf1, 0x43, 0xd5, 0x68, 0xbb, 0x20, 0x26, 0x15, 0x77, 0x80, 0x9f, 0x41, 0xb6, 0xcc, 0x6c, + 0xdd, 0xac, 0xff, 0x88, 0xc2, 0xa7, 0x3a, 0xc2, 0xdf, 0x93, 0xe0, 0x42, 0x91, 0xd0, 0x9a, 0xad, + 0x57, 0x47, 0x23, 0xf8, 0xf0, 0x67, 0x12, 0x14, 0x44, 0x88, 0x86, 0x59, 0xfb, 0x9f, 0xfd, 0x80, + 0x4e, 0xf0, 0x49, 0xd7, 0xc2, 0x93, 0xbc, 0x64, 0xec, 0x6a, 0x2b, 0x73, 0x42, 0x27, 0xee, 0x11, + 0x06, 0xb9, 0x0b, 0xb2, 0x54, 0xe4, 0xc0, 0x93, 0x4a, 0x88, 0xc6, 0x73, 0xe3, 0x91, 0xa5, 0x6a, + 0xa3, 0x61, 0xc4, 0x77, 0x25, 0xc8, 0x2b, 0xc4, 0x20, 0x2a, 0x1d, 0x11, 0xaf, 0xbe, 0x23, 0xc1, + 0x62, 0xc0, 0xbe, 0x4c, 0x65, 0xf4, 0x2c, 0xe1, 0xbc, 0xe9, 0xec, 0xb8, 0x51, 0x38, 0xc3, 0x44, + 0xd8, 0x1f, 0x60, 0xdc, 0xf9, 0xa2, 0xf9, 0xc4, 0x72, 0x72, 0x75, 0x7a, 0xe3, 0xaa, 0x70, 0xce, + 0x43, 0x72, 0xf2, 0xd4, 0xc9, 0xba, 0x3d, 0x55, 0xb7, 0x15, 0x97, 0x1f, 0x57, 0x61, 0xa1, 0xdc, + 0xb0, 0x8e, 0x7e, 0x4a, 0x2f, 0xe1, 0x63, 0x58, 0x8c, 0xea, 0x18, 0x66, 0xad, 0xd7, 0x21, 0x17, + 0xb1, 0xb2, 0xbb, 0xec, 0x29, 0x65, 0x26, 0x6c, 0x66, 0x8a, 0x3f, 0x75, 0xdc, 0xce, 0x4f, 0xb6, + 0x3d, 0xd5, 0x66, 0xfa, 0x59, 0x1f, 0x6c, 0xd7, 0x20, 0xdb, 0xea, 0xe0, 0x70, 0xf9, 0x52, 0x9c, + 0x2f, 0xe3, 0x53, 0xb9, 0xbd, 0x3e, 0x91, 0x60, 0xde, 0x39, 0xe7, 0xce, 0x13, 0xe6, 0x8f, 0x25, + 0x98, 0x7b, 0xa0, 0xd2, 0xf3, 0x04, 0xf9, 0x95, 0x04, 0x73, 0xce, 0x96, 0xe9, 0x62, 0x3e, 0x5b, + 0xc8, 0x2b, 0x30, 0x13, 0x86, 0x4c, 0xf3, 0x29, 0x1e, 0xd2, 0xd9, 0x10, 0x66, 0x8a, 0x3f, 0x97, + 0x60, 0xc9, 0xdb, 0x59, 0x47, 0xc2, 0xd6, 0x03, 0x03, 0x7f, 0x25, 0xc1, 0x82, 0x8f, 0xf8, 0xac, + 0x37, 0xe0, 0x41, 0x43, 0xe4, 0x0d, 0x09, 0x16, 0xa3, 0xa0, 0xcf, 0x64, 0x9b, 0xfe, 0x48, 0x82, + 0x79, 0x67, 0x0f, 0x1d, 0x09, 0x9f, 0x47, 0xeb, 0x91, 0x94, 0xa0, 0x1e, 0x79, 0x5f, 0x72, 0x0f, + 0x96, 0x00, 0xe0, 0x61, 0x0c, 0x27, 0x08, 0xb3, 0x84, 0x28, 0xcc, 0x1c, 0x6c, 0x3e, 0xa5, 0x54, + 0xa4, 0xf9, 0xe4, 0x72, 0xd2, 0xc1, 0x16, 0xa4, 0xf1, 0x62, 0xa0, 0x53, 0xe2, 0x95, 0x49, 0xbd, + 0x49, 0x4c, 0xf6, 0xfa, 0xe6, 0x8c, 0x1a, 0x23, 0xd1, 0x6b, 0x0c, 0x74, 0x09, 0xa6, 0xa8, 0xab, + 0xc7, 0xaf, 0xde, 0xba, 0x04, 0xfc, 0x85, 0x04, 0x4b, 0x3d, 0x70, 0x86, 0x31, 0x56, 0x1e, 0x26, + 0x74, 0x53, 0x23, 0xc7, 0x3e, 0x9a, 0xce, 0x10, 0x29, 0x30, 0xcb, 0x3f, 0x2b, 0x1a, 0xd7, 0xd7, + 0x72, 0xf0, 0x71, 0x40, 0x3d, 0x35, 0xa9, 0x37, 0x28, 0x39, 0xdc, 0xc5, 0x2e, 0xb3, 0x92, 0xd3, + 0x23, 0x14, 0xc7, 0x9a, 0xc8, 0xf1, 0xf4, 0xcf, 0x62, 0xc9, 0x65, 0x98, 0x0e, 0xb8, 0xd2, 0xb3, + 0x65, 0x90, 0x84, 0xff, 0x0d, 0x73, 0x21, 0x34, 0xc3, 0x18, 0xf2, 0x17, 0x00, 0xbe, 0x9b, 0xdc, + 0x80, 0x4b, 0x2a, 0x01, 0x0a, 0xfe, 0x46, 0x02, 0xe4, 0x96, 0x17, 0xdc, 0x4e, 0x67, 0x99, 0x93, + 0x97, 0x01, 0xfe, 0xa5, 0x13, 0x43, 0x0b, 0x6e, 0x66, 0x53, 0x9c, 0xc2, 0x7f, 0x17, 0x41, 0x26, + 0xc7, 0xcc, 0x56, 0x2b, 0x2d, 0xd5, 0x56, 0x9b, 0x34, 0x3f, 0x3e, 0xe8, 0xfe, 0x33, 0xcd, 0xa7, + 0xed, 0xf1, 0x59, 0xf8, 0x2b, 0xa7, 0x30, 0xf1, 0x22, 0x75, 0xd4, 0x57, 0x7c, 0x19, 0xc0, 0x0d, + 0x75, 0xfe, 0x7b, 0xdc, 0xfd, 0xcd, 0x29, 0x7c, 0x67, 0x37, 0x20, 0x17, 0x8d, 0xed, 0xc8, 0x14, + 0x29, 0x32, 0x05, 0xfd, 0x09, 0xd2, 0x9e, 0xf5, 0x06, 0xde, 0xbd, 0xbd, 0x09, 0xf8, 0x03, 0x09, + 0x16, 0x22, 0x86, 0x1b, 0x26, 0x2e, 0xf7, 0x01, 0xf5, 0xa4, 0x71, 0x07, 0xd5, 0x80, 0x79, 0x3c, + 0x1b, 0xcd, 0x63, 0x8a, 0xbf, 0x94, 0x60, 0x96, 0xf3, 0x39, 0xda, 0xc8, 0xf9, 0x75, 0xed, 0x7f, + 0x25, 0x40, 0xc1, 0x75, 0x0c, 0x63, 0xe9, 0xdf, 0xb9, 0x07, 0xb6, 0xbb, 0x92, 0xec, 0xc6, 0x15, + 0xe1, 0x9c, 0x80, 0x32, 0x97, 0x1b, 0x7f, 0x27, 0x41, 0xa6, 0x64, 0x52, 0x62, 0xb3, 0xd1, 0x2f, + 0x72, 0xd0, 0x6f, 0x61, 0xd2, 0xb6, 0x8e, 0x2a, 0x9a, 0xca, 0x54, 0x6f, 0x5f, 0xb8, 0x20, 0x84, + 0xb7, 0x69, 0x58, 0x55, 0x65, 0xc2, 0xb6, 0x8e, 0x8a, 0x2a, 0x53, 0xd1, 0x45, 0x98, 0x6a, 0xa8, + 0xb4, 0x51, 0x79, 0x41, 0x4e, 0x68, 0x3e, 0xbd, 0x9c, 0x5c, 0xcd, 0x28, 0x93, 0x0e, 0xe1, 0x21, + 0x39, 0xa1, 0xf8, 0xff, 0x12, 0x64, 0x3b, 0xeb, 0x1f, 0xc6, 0xfc, 0x57, 0x60, 0xda, 0xb6, 0x8e, + 0x4a, 0xc5, 0x4a, 0x95, 0xd4, 0x75, 0xd3, 0x3b, 0x11, 0x80, 0x93, 0x36, 0x1d, 0x8a, 0x83, 0xc2, + 0x65, 0x20, 0xa6, 0xe6, 0x9d, 0x06, 0x93, 0x9c, 0xb0, 0x6d, 0x6a, 0xf8, 0x10, 0x72, 0x7b, 0x86, + 0x5a, 0x23, 0x0d, 0xcb, 0xd0, 0x88, 0xcd, 0xb3, 0x12, 0xe5, 0x20, 0xc9, 0xd4, 0xba, 0x97, 0xdc, + 0xce, 0x27, 0xfa, 0x23, 0xa4, 0xd8, 0x49, 0xab, 0xe3, 0xe1, 0x5f, 0x09, 0xd3, 0x27, 0x20, 0x66, + 0xff, 0xa4, 0x45, 0x14, 0x3e, 0x03, 0x2d, 0x42, 0x9a, 0x77, 0xb1, 0xdc, 0x2a, 0x43, 0x56, 0xbc, + 0x11, 0x7e, 0x1e, 0xd2, 0xbb, 0x63, 0x5b, 0xed, 0x16, 0x2a, 0x81, 0xdc, 0xea, 0xd2, 0x1c, 0x23, + 0xc4, 0x27, 0x6b, 0x14, 0xb4, 0x12, 0x9a, 0x8a, 0xbf, 0x96, 0x20, 0x53, 0x26, 0xaa, 0x5d, 0x6b, + 0x9c, 0x87, 0xc2, 0xdf, 0xb1, 0xb8, 0x46, 0x0d, 0x2f, 0x4d, 0x9d, 0x4f, 0x74, 0x13, 0x66, 0x03, + 0x0b, 0xaa, 0xd4, 0x1d, 0x03, 0xe5, 0xd3, 0xbc, 0xd5, 0x9b, 0x6b, 0x45, 0x0c, 0x87, 0x1f, 0x42, + 0xea, 0x81, 0xce, 0xb8, 0x18, 0xe7, 0x10, 0x96, 0xf8, 0x21, 0xec, 0x7c, 0xa2, 0x0b, 0x81, 0xb8, + 0x4d, 0x70, 0x07, 0xf8, 0xc1, 0xc9, 0x3b, 0xc8, 0x96, 0xed, 0x79, 0x26, 0xa1, 0x78, 0x23, 0xfc, + 0xf7, 0xae, 0xe5, 0x68, 0xdb, 0x60, 0xf4, 0xf5, 0xa2, 0x12, 0x41, 0xaa, 0xa1, 0x7b, 0x45, 0xbc, + 0xac, 0xf0, 0x6f, 0xfc, 0x3f, 0x09, 0xe4, 0xfb, 0x46, 0x9b, 0x9e, 0xa5, 0x4f, 0x9c, 0xb4, 0x9b, + 0x57, 0x48, 0x5d, 0xa7, 0x8c, 0xd8, 0x8f, 0x74, 0xf3, 0x85, 0x9f, 0x7c, 0xbf, 0x87, 0x09, 0x55, + 0xd3, 0x6c, 0x42, 0xe9, 0xa9, 0x78, 0xee, 0xb9, 0x3c, 0x4a, 0x87, 0x39, 0x60, 0x9e, 0xc4, 0xc0, + 0xe6, 0xb9, 0x71, 0x17, 0x66, 0x22, 0xf9, 0x82, 0x26, 0x21, 0xb5, 0xfb, 0x64, 0x77, 0x3b, 0x37, + 0x86, 0x66, 0x21, 0xf3, 0x74, 0x7b, 0x6b, 0xff, 0x89, 0x52, 0xd9, 0x2c, 0xed, 0xde, 0x53, 0x0e, + 0x72, 0x1a, 0xca, 0x81, 0xec, 0x91, 0xee, 0x3f, 0x7a, 0x72, 0x6f, 0x3f, 0x47, 0x36, 0xbe, 0xcd, + 0x41, 0xe6, 0x31, 0x57, 0x54, 0x26, 0xf6, 0xa1, 0x5e, 0x23, 0xa8, 0x02, 0xb9, 0xe8, 0x0b, 0x05, + 0xba, 0x25, 0x4c, 0x9e, 0x98, 0x87, 0x8c, 0xc2, 0x69, 0xd0, 0xf1, 0x18, 0x7a, 0x06, 0xd9, 0xf0, + 0xd3, 0x02, 0xba, 0x21, 0x14, 0x2f, 0x7c, 0x7f, 0xe8, 0x27, 0xbc, 0x02, 0x99, 0xd0, 0x4b, 0x01, + 0xba, 0x2e, 0x94, 0x2d, 0x7a, 0x4d, 0x28, 0x5c, 0x15, 0xb2, 0x06, 0x9b, 0xfd, 0x2e, 0xfa, 0x70, + 0xf3, 0x37, 0x06, 0xbd, 0xb0, 0x43, 0xdc, 0x0f, 0xbd, 0x0a, 0xb3, 0x3d, 0xbd, 0x5c, 0x74, 0x5b, + 0x28, 0x3f, 0xae, 0xe7, 0xdb, 0x4f, 0xc5, 0x11, 0xa0, 0xde, 0x9e, 0x3b, 0x5a, 0x13, 0x7b, 0x20, + 0xee, 0xb9, 0xa0, 0xb0, 0x3e, 0x30, 0xbf, 0x6f, 0xb8, 0x43, 0x58, 0xda, 0x21, 0x2c, 0xdc, 0x8a, + 0xd5, 0x29, 0xd3, 0x6b, 0x14, 0xdd, 0x14, 0x87, 0x97, 0xb0, 0x89, 0x5c, 0xb8, 0x35, 0x18, 0xb3, + 0xaf, 0xd7, 0x80, 0x99, 0x70, 0x4b, 0x94, 0xc6, 0x78, 0x4c, 0xd8, 0x9c, 0x2d, 0xdc, 0x1c, 0x88, + 0xd7, 0xd7, 0xf6, 0x1c, 0x66, 0x22, 0x5d, 0xd0, 0xb8, 0xd5, 0x09, 0x7b, 0xa5, 0xfd, 0xbc, 0x77, + 0x00, 0x99, 0x50, 0xbb, 0x32, 0x26, 0xbc, 0x45, 0x2d, 0xcd, 0x7e, 0xa2, 0x9f, 0x83, 0x1c, 0xec, + 0x2a, 0xa2, 0xd5, 0xb8, 0xc4, 0xe9, 0x11, 0x3c, 0x50, 0xde, 0x1c, 0xb8, 0x79, 0xe3, 0x4f, 0xa6, + 0x31, 0x0a, 0x04, 0x6d, 0xc2, 0x7e, 0xc8, 0xff, 0xe9, 0x67, 0x4d, 0x40, 0xfa, 0xad, 0xd3, 0xb2, + 0xe6, 0x87, 0xda, 0x86, 0xc2, 0xe2, 0x0e, 0x61, 0xa1, 0xf6, 0x94, 0x17, 0xba, 0xe2, 0x50, 0x12, + 0x76, 0xdf, 0x62, 0x42, 0x49, 0xdc, 0xf4, 0xc2, 0x63, 0x48, 0x87, 0x6c, 0xa8, 0xad, 0x43, 0x63, + 0x9c, 0x2d, 0x6a, 0x56, 0x15, 0x6e, 0x0c, 0xc2, 0xea, 0xab, 0xfa, 0x2b, 0x4c, 0x07, 0x2e, 0xd7, + 0x68, 0xe5, 0x94, 0x88, 0x0d, 0x5e, 0x46, 0xfb, 0x99, 0xad, 0x01, 0x99, 0xd0, 0x55, 0x2c, 0x2e, + 0x5a, 0x05, 0xf7, 0xdc, 0x98, 0x05, 0x08, 0x6f, 0x76, 0x78, 0x0c, 0x55, 0x21, 0xb3, 0x43, 0x58, + 0xf7, 0x76, 0x80, 0x7e, 0x1d, 0x7f, 0x37, 0x0b, 0xde, 0xb9, 0x0a, 0x2b, 0x7d, 0xf9, 0x7c, 0x1d, + 0x65, 0x48, 0xbb, 0x85, 0x36, 0xc2, 0x31, 0x93, 0x02, 0xb7, 0x90, 0xc2, 0x2f, 0x4f, 0xe5, 0xf1, + 0x85, 0x2a, 0x90, 0x76, 0xcb, 0xa4, 0x18, 0xa1, 0xa1, 0xea, 0xb3, 0x70, 0x3a, 0x0f, 0xaf, 0xb3, + 0xf0, 0x18, 0x2a, 0xc1, 0x38, 0xaf, 0x8f, 0x90, 0x38, 0x31, 0x83, 0xb5, 0x53, 0x3f, 0x0f, 0xfe, + 0x05, 0xe4, 0x1d, 0xc2, 0x8a, 0xda, 0x56, 0x43, 0x35, 0x4d, 0x62, 0xa0, 0x82, 0x90, 0x7d, 0xbb, + 0xd9, 0x62, 0x27, 0x31, 0x2b, 0x0e, 0x3f, 0x68, 0xe3, 0xb1, 0x8d, 0x3a, 0xc8, 0x7b, 0xb6, 0x75, + 0x7c, 0xd2, 0xa9, 0x37, 0xfe, 0x06, 0x72, 0xb0, 0x90, 0x3a, 0x55, 0xc5, 0xf5, 0x98, 0xa4, 0xee, + 0xad, 0xc3, 0xf0, 0xd8, 0xe6, 0xe6, 0x3f, 0xee, 0xd6, 0x75, 0xd6, 0x68, 0x57, 0x1d, 0x19, 0xeb, + 0x2f, 0x75, 0xc3, 0xd0, 0x5f, 0x32, 0x52, 0x6b, 0xac, 0xbb, 0xd3, 0x6e, 0x6b, 0x3a, 0x65, 0xb6, + 0x5e, 0x6d, 0x33, 0xa2, 0xad, 0xeb, 0x26, 0x23, 0xb6, 0xa9, 0x1a, 0xeb, 0x5c, 0xb0, 0xc7, 0xd1, + 0xaa, 0x56, 0xd3, 0x7c, 0x7c, 0xe7, 0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x50, 0x4c, 0x09, 0xb0, + 0xf7, 0x21, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/internal/proxyservice/nodeid_allocator.go b/internal/proxyservice/nodeid_allocator.go index aa22db282..f4cc9cf82 100644 --- a/internal/proxyservice/nodeid_allocator.go +++ b/internal/proxyservice/nodeid_allocator.go @@ -1,7 +1,7 @@ package proxyservice import ( - "sync" + "context" "github.com/zilliztech/milvus-distributed/internal/allocator" @@ -17,21 +17,22 @@ type NodeIDAllocator interface { type NaiveNodeIDAllocatorImpl struct { impl *allocator.IDAllocator - now UniqueID - mtx sync.Mutex } func (allocator *NaiveNodeIDAllocatorImpl) AllocOne() UniqueID { - allocator.mtx.Lock() - defer func() { - allocator.now++ - allocator.mtx.Unlock() - }() - return allocator.now + id, err := allocator.impl.AllocOne() + if err != nil { + panic(err) + } + return id } func NewNodeIDAllocator() NodeIDAllocator { + impl, err := allocator.NewIDAllocator(context.Background(), Params.MasterAddress()) + if err != nil { + panic(err) + } return &NaiveNodeIDAllocatorImpl{ - now: 0, + impl: impl, } } diff --git a/internal/querynode/query_node.go b/internal/querynode/query_node.go index 43b9953f2..a9cc45323 100644 --- a/internal/querynode/query_node.go +++ b/internal/querynode/query_node.go @@ -16,7 +16,6 @@ import ( "context" "errors" "fmt" - "github.com/zilliztech/milvus-distributed/internal/proto/datapb" "io" "log" "sync/atomic" @@ -27,6 +26,7 @@ import ( "github.com/zilliztech/milvus-distributed/internal/msgstream/pulsarms" "github.com/zilliztech/milvus-distributed/internal/msgstream/util" "github.com/zilliztech/milvus-distributed/internal/proto/commonpb" + "github.com/zilliztech/milvus-distributed/internal/proto/datapb" "github.com/zilliztech/milvus-distributed/internal/proto/internalpb2" queryPb "github.com/zilliztech/milvus-distributed/internal/proto/querypb" "github.com/zilliztech/milvus-distributed/internal/util/typeutil" @@ -69,9 +69,10 @@ type QueryNode struct { closer io.Closer // clients - queryClient QueryServiceInterface - indexClient IndexServiceInterface - dataClient DataServiceInterface + masterClient MasterServiceInterface + queryClient QueryServiceInterface + indexClient IndexServiceInterface + dataClient DataServiceInterface } func NewQueryNode(ctx context.Context, queryNodeID uint64) *QueryNode { @@ -203,7 +204,7 @@ func (node *QueryNode) Start() error { node.metaService = newMetaService(node.queryNodeLoopCtx, node.replica) node.loadIndexService = newLoadIndexService(node.queryNodeLoopCtx, node.replica) node.statsService = newStatsService(node.queryNodeLoopCtx, node.replica, node.loadIndexService.fieldStatsChan) - node.segManager = newSegmentManager(node.queryNodeLoopCtx, node.dataClient, node.indexClient, node.replica, node.dataSyncService.dmStream, node.loadIndexService.loadIndexReqChan) + node.segManager = newSegmentManager(node.queryNodeLoopCtx, node.masterClient, node.dataClient, node.indexClient, node.replica, node.dataSyncService.dmStream, node.loadIndexService.loadIndexReqChan) // start services go node.dataSyncService.start() @@ -243,9 +244,17 @@ func (node *QueryNode) Stop() error { return nil } +func (node *QueryNode) SetMasterService(master MasterServiceInterface) error { + if master == nil { + return errors.New("null master service interface") + } + node.masterClient = master + return nil +} + func (node *QueryNode) SetQueryService(query QueryServiceInterface) error { if query == nil { - return errors.New("query index service interface") + return errors.New("null query service interface") } node.queryClient = query return nil diff --git a/internal/querynode/segment_manager.go b/internal/querynode/segment_manager.go index ea348930b..9b399ebff 100644 --- a/internal/querynode/segment_manager.go +++ b/internal/querynode/segment_manager.go @@ -12,6 +12,7 @@ import ( "github.com/zilliztech/milvus-distributed/internal/proto/datapb" "github.com/zilliztech/milvus-distributed/internal/proto/indexpb" internalPb "github.com/zilliztech/milvus-distributed/internal/proto/internalpb2" + "github.com/zilliztech/milvus-distributed/internal/proto/milvuspb" "github.com/zilliztech/milvus-distributed/internal/storage" ) @@ -21,8 +22,9 @@ type segmentManager struct { dmStream msgstream.MsgStream loadIndexReqChan chan []msgstream.TsMsg - dataClient DataServiceInterface - indexClient IndexServiceInterface + masterClient MasterServiceInterface + dataClient DataServiceInterface + indexClient IndexServiceInterface kv kv.Base // minio kv iCodec *storage.InsertCodec @@ -39,6 +41,29 @@ func (s *segmentManager) seekSegment(positions []*internalPb.MsgPosition) error return nil } +func (s *segmentManager) getIndexInfo(collectionID UniqueID, segmentID UniqueID) (UniqueID, indexParam, error) { + req := &milvuspb.DescribeSegmentRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_kDescribeSegment, + }, + CollectionID: collectionID, + SegmentID: segmentID, + } + response, err := s.masterClient.DescribeSegment(req) + if err != nil { + return 0, nil, err + } + if len(response.IndexDescription.Params) <= 0 { + return 0, nil, errors.New("null index param") + } + + var targetIndexParam = make(map[string]string) + for _, param := range response.IndexDescription.Params { + targetIndexParam[param.Key] = param.Value + } + return response.IndexID, targetIndexParam, nil +} + func (s *segmentManager) loadSegment(collectionID UniqueID, partitionID UniqueID, segmentIDs []UniqueID, fieldIDs []int64) error { // TODO: interim solution if len(fieldIDs) == 0 { @@ -52,7 +77,10 @@ func (s *segmentManager) loadSegment(collectionID UniqueID, partitionID UniqueID } } for _, segmentID := range segmentIDs { - indexID := UniqueID(0) // TODO: get index id from master + indexID, indexParams, err := s.getIndexInfo(collectionID, segmentID) + if err != nil { + return err + } paths, srcFieldIDs, err := s.getInsertBinlogPaths(segmentID) if err != nil { return err @@ -76,11 +104,7 @@ func (s *segmentManager) loadSegment(collectionID UniqueID, partitionID UniqueID if err != nil { return err } - iParam, err := s.getIndexParam() - if err != nil { - return err - } - err = s.loadIndex(segmentID, indexPaths, iParam) + err = s.loadIndex(segmentID, indexPaths, indexParams) if err != nil { // TODO: return or continue? return err @@ -236,12 +260,6 @@ func (s *segmentManager) getIndexPaths(indexID UniqueID) ([]string, error) { return pathResponse.FilePaths[0].IndexFilePaths, nil } -func (s *segmentManager) getIndexParam() (indexParam, error) { - var targetIndexParam indexParam - // TODO: get index param from master - return targetIndexParam, nil -} - func (s *segmentManager) loadIndex(segmentID UniqueID, indexPaths []string, indexParam indexParam) error { // get vector field ids from schema to load index vecFieldIDs, err := s.replica.getVecFieldsBySegmentID(segmentID) @@ -288,7 +306,7 @@ func (s *segmentManager) sendLoadIndex(indexPaths []string, s.loadIndexReqChan <- messages } -func newSegmentManager(ctx context.Context, dataClient DataServiceInterface, indexClient IndexServiceInterface, replica collectionReplica, dmStream msgstream.MsgStream, loadIndexReqChan chan []msgstream.TsMsg) *segmentManager { +func newSegmentManager(ctx context.Context, masterClient MasterServiceInterface, dataClient DataServiceInterface, indexClient IndexServiceInterface, replica collectionReplica, dmStream msgstream.MsgStream, loadIndexReqChan chan []msgstream.TsMsg) *segmentManager { bucketName := Params.MinioBucketName option := &miniokv.Option{ Address: Params.MinioEndPoint, @@ -309,8 +327,9 @@ func newSegmentManager(ctx context.Context, dataClient DataServiceInterface, ind dmStream: dmStream, loadIndexReqChan: loadIndexReqChan, - dataClient: dataClient, - indexClient: indexClient, + masterClient: masterClient, + dataClient: dataClient, + indexClient: indexClient, kv: minioKV, iCodec: &storage.InsertCodec{}, diff --git a/internal/querynode/segment_manager_test.go b/internal/querynode/segment_manager_test.go index 160931408..b3c731673 100644 --- a/internal/querynode/segment_manager_test.go +++ b/internal/querynode/segment_manager_test.go @@ -405,7 +405,7 @@ func TestSegmentManager_load_release_and_search(t *testing.T) { ctx := node.queryNodeLoopCtx node.loadIndexService = newLoadIndexService(ctx, node.replica) - node.segManager = newSegmentManager(ctx, nil, nil, node.replica, nil, node.loadIndexService.loadIndexReqChan) + node.segManager = newSegmentManager(ctx, nil, nil, nil, node.replica, nil, node.loadIndexService.loadIndexReqChan) go node.loadIndexService.start() collectionName := "collection0" diff --git a/internal/querynode/type_def.go b/internal/querynode/type_def.go index d6e6b0d19..a7d724e33 100644 --- a/internal/querynode/type_def.go +++ b/internal/querynode/type_def.go @@ -3,6 +3,7 @@ package querynode import ( "github.com/zilliztech/milvus-distributed/internal/proto/datapb" "github.com/zilliztech/milvus-distributed/internal/proto/indexpb" + "github.com/zilliztech/milvus-distributed/internal/proto/milvuspb" "github.com/zilliztech/milvus-distributed/internal/proto/querypb" "github.com/zilliztech/milvus-distributed/internal/util/typeutil" ) @@ -17,6 +18,11 @@ type TimeRange struct { timestampMax Timestamp } +type MasterServiceInterface interface { + DescribeSegment(in *milvuspb.DescribeSegmentRequest) (*milvuspb.DescribeSegmentResponse, error) + DescribeIndex(in *milvuspb.DescribeIndexRequest) (*milvuspb.DescribeIndexResponse, error) +} + type QueryServiceInterface interface { RegisterNode(req *querypb.RegisterNodeRequest) (*querypb.RegisterNodeResponse, error) } -- GitLab