Get index info from master

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
pull/4973/head^2
bigsheeper 2021-01-27 14:41:56 +08:00 committed by yefu.chen
parent a0226c09f0
commit 68cd15af63
14 changed files with 490 additions and 286 deletions

View File

@ -10,4 +10,4 @@ dataservice:
# old name: segmentExpireDuration: 2000
IDAssignExpiration: 2000 # ms
insertChannelNumPerCollection: 4
dataNodeNum: 2
dataNodeNum: 1

View File

@ -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_);
}

View File

@ -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<const ::milvus::proto::milvus::IndexDescription*>(
&::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

View File

@ -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)
}
}
}

View File

@ -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 {

View File

@ -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
}

View File

@ -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
}

View File

@ -154,6 +154,7 @@ message DescribeSegmentRequest {
message DescribeSegmentResponse {
common.Status status = 1;
int64 indexID = 2;
IndexDescription index_description = 3;
}
message ShowSegmentRequest {

View File

@ -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.

View File

@ -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,
}
}

View File

@ -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

View File

@ -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{},

View File

@ -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"

View File

@ -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)
}