mirror of https://github.com/milvus-io/milvus.git
Support AllocTimestamp api for Milvus (#25784)
Signed-off-by: cai.zhang <cai.zhang@zilliz.com>pull/25884/head
parent
2ff469771c
commit
760a2d9aa7
2
Makefile
2
Makefile
|
@ -314,7 +314,7 @@ rpm: install
|
|||
@QA_RPATHS="$$[ 0x001|0x0002|0x0020 ]" rpmbuild -ba ./build/rpm/milvus.spec
|
||||
|
||||
mock-proxy:
|
||||
mockery --name=ProxyComponent --dir=$(PWD)/internal/types --output=$(PWD)/internal/mocks --filename=mock_proxy.go --structname=Proxy --with-expecter
|
||||
mockery --name=ProxyComponent --dir=$(PWD)/internal/types --output=$(PWD)/internal/mocks --filename=mock_proxy.go --structname=MockProxy --with-expecter
|
||||
|
||||
mock-datanode:
|
||||
mockery --name=DataNode --dir=$(PWD)/internal/types --output=$(PWD)/internal/mocks --filename=mock_datanode.go --with-expecter
|
||||
|
|
2
go.mod
2
go.mod
|
@ -23,7 +23,7 @@ require (
|
|||
github.com/klauspost/compress v1.16.5
|
||||
github.com/lingdor/stackerror v0.0.0-20191119040541-976d8885ed76
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1.0.20230716112827-c3fe148f5e1d
|
||||
github.com/minio/minio-go/v7 v7.0.17
|
||||
github.com/nats-io/nats-server/v2 v2.9.17
|
||||
github.com/nats-io/nats.go v1.24.0
|
||||
|
|
2
go.sum
2
go.sum
|
@ -586,6 +586,8 @@ github.com/milvus-io/gorocksdb v0.0.0-20220624081344-8c5f4212846b h1:TfeY0NxYxZz
|
|||
github.com/milvus-io/gorocksdb v0.0.0-20220624081344-8c5f4212846b/go.mod h1:iwW+9cWfIzzDseEBCCeDSN5SD16Tidvy8cwQ7ZY8Qj4=
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1 h1:x6vhrVyK3wEuXIDHt0uk2l/UFPa/RRGWk1nkjgN5jkI=
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1/go.mod h1:1OIl0v5PQeNxIJhCvY+K55CBUOYDZevw9g9380u1Wek=
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1.0.20230716112827-c3fe148f5e1d h1:XsQQ/MigebXEE2VXPKKmA3K7OHC+mkEUiErWvaWMikI=
|
||||
github.com/milvus-io/milvus-proto/go-api/v2 v2.3.0-dev.1.0.20230716112827-c3fe148f5e1d/go.mod h1:1OIl0v5PQeNxIJhCvY+K55CBUOYDZevw9g9380u1Wek=
|
||||
github.com/milvus-io/pulsar-client-go v0.6.10 h1:eqpJjU+/QX0iIhEo3nhOqMNXL+TyInAs1IAHZCrCM/A=
|
||||
github.com/milvus-io/pulsar-client-go v0.6.10/go.mod h1:lQqCkgwDF8YFYjKA+zOheTk1tev2B+bKj5j7+nm8M1w=
|
||||
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs=
|
||||
|
|
|
@ -520,114 +520,116 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
|
|||
"\020\004\022\t\n\005Retry\020\005*\202\001\n\014SegmentState\022\024\n\020Segmen"
|
||||
"tStateNone\020\000\022\014\n\010NotExist\020\001\022\013\n\007Growing\020\002\022"
|
||||
"\n\n\006Sealed\020\003\022\013\n\007Flushed\020\004\022\014\n\010Flushing\020\005\022\013"
|
||||
"\n\007Dropped\020\006\022\r\n\tImporting\020\007*>\n\017Placeholde"
|
||||
"\n\007Dropped\020\006\022\r\n\tImporting\020\007*V\n\017Placeholde"
|
||||
"rType\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013Flo"
|
||||
"atVector\020e*\237\020\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n"
|
||||
"\020CreateCollection\020d\022\022\n\016DropCollection\020e\022"
|
||||
"\021\n\rHasCollection\020f\022\026\n\022DescribeCollection"
|
||||
"\020g\022\023\n\017ShowCollections\020h\022\024\n\020GetSystemConf"
|
||||
"igs\020i\022\022\n\016LoadCollection\020j\022\025\n\021ReleaseColl"
|
||||
"ection\020k\022\017\n\013CreateAlias\020l\022\r\n\tDropAlias\020m"
|
||||
"\022\016\n\nAlterAlias\020n\022\023\n\017AlterCollection\020o\022\024\n"
|
||||
"\020RenameCollection\020p\022\021\n\rDescribeAlias\020q\022\017"
|
||||
"\n\013ListAliases\020r\022\024\n\017CreatePartition\020\310\001\022\022\n"
|
||||
"\rDropPartition\020\311\001\022\021\n\014HasPartition\020\312\001\022\026\n\021"
|
||||
"DescribePartition\020\313\001\022\023\n\016ShowPartitions\020\314"
|
||||
"\001\022\023\n\016LoadPartitions\020\315\001\022\026\n\021ReleasePartiti"
|
||||
"ons\020\316\001\022\021\n\014ShowSegments\020\372\001\022\024\n\017DescribeSeg"
|
||||
"ment\020\373\001\022\021\n\014LoadSegments\020\374\001\022\024\n\017ReleaseSeg"
|
||||
"ments\020\375\001\022\024\n\017HandoffSegments\020\376\001\022\030\n\023LoadBa"
|
||||
"lanceSegments\020\377\001\022\025\n\020DescribeSegments\020\200\002\022"
|
||||
"\034\n\027FederListIndexedSegment\020\201\002\022\"\n\035FederDe"
|
||||
"scribeSegmentIndexData\020\202\002\022\020\n\013CreateIndex"
|
||||
"\020\254\002\022\022\n\rDescribeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022"
|
||||
"\027\n\022GetIndexStatistics\020\257\002\022\013\n\006Insert\020\220\003\022\013\n"
|
||||
"\006Delete\020\221\003\022\n\n\005Flush\020\222\003\022\027\n\022ResendSegmentS"
|
||||
"tats\020\223\003\022\013\n\006Upsert\020\224\003\022\013\n\006Search\020\364\003\022\021\n\014Sea"
|
||||
"rchResult\020\365\003\022\022\n\rGetIndexState\020\366\003\022\032\n\025GetI"
|
||||
"ndexBuildProgress\020\367\003\022\034\n\027GetCollectionSta"
|
||||
"tistics\020\370\003\022\033\n\026GetPartitionStatistics\020\371\003\022"
|
||||
"\r\n\010Retrieve\020\372\003\022\023\n\016RetrieveResult\020\373\003\022\024\n\017W"
|
||||
"atchDmChannels\020\374\003\022\025\n\020RemoveDmChannels\020\375\003"
|
||||
"\022\027\n\022WatchQueryChannels\020\376\003\022\030\n\023RemoveQuery"
|
||||
"Channels\020\377\003\022\035\n\030SealedSegmentsChangeInfo\020"
|
||||
"\200\004\022\027\n\022WatchDeltaChannels\020\201\004\022\024\n\017GetShardL"
|
||||
"eaders\020\202\004\022\020\n\013GetReplicas\020\203\004\022\023\n\016UnsubDmCh"
|
||||
"annel\020\204\004\022\024\n\017GetDistribution\020\205\004\022\025\n\020SyncDi"
|
||||
"stribution\020\206\004\022\020\n\013SegmentInfo\020\330\004\022\017\n\nSyste"
|
||||
"mInfo\020\331\004\022\024\n\017GetRecoveryInfo\020\332\004\022\024\n\017GetSeg"
|
||||
"mentState\020\333\004\022\r\n\010TimeTick\020\260\t\022\023\n\016QueryNode"
|
||||
"Stats\020\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\tRequestID\020\263\t"
|
||||
"\022\017\n\nRequestTSO\020\264\t\022\024\n\017AllocateSegment\020\265\t\022"
|
||||
"\026\n\021SegmentStatistics\020\266\t\022\025\n\020SegmentFlushD"
|
||||
"one\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\014\n\007Connect\020\271\t\022\024\n"
|
||||
"\017ListClientInfos\020\272\t\022\025\n\020CreateCredential\020"
|
||||
"\334\013\022\022\n\rGetCredential\020\335\013\022\025\n\020DeleteCredenti"
|
||||
"al\020\336\013\022\025\n\020UpdateCredential\020\337\013\022\026\n\021ListCred"
|
||||
"Usernames\020\340\013\022\017\n\nCreateRole\020\300\014\022\r\n\010DropRol"
|
||||
"e\020\301\014\022\024\n\017OperateUserRole\020\302\014\022\017\n\nSelectRole"
|
||||
"\020\303\014\022\017\n\nSelectUser\020\304\014\022\023\n\016SelectResource\020\305"
|
||||
"\014\022\025\n\020OperatePrivilege\020\306\014\022\020\n\013SelectGrant\020"
|
||||
"\307\014\022\033\n\026RefreshPolicyInfoCache\020\310\014\022\017\n\nListP"
|
||||
"olicy\020\311\014\022\030\n\023CreateResourceGroup\020\244\r\022\026\n\021Dr"
|
||||
"opResourceGroup\020\245\r\022\027\n\022ListResourceGroups"
|
||||
"\020\246\r\022\032\n\025DescribeResourceGroup\020\247\r\022\021\n\014Trans"
|
||||
"ferNode\020\250\r\022\024\n\017TransferReplica\020\251\r\022\023\n\016Crea"
|
||||
"teDatabase\020\211\016\022\021\n\014DropDatabase\020\212\016\022\022\n\rList"
|
||||
"Databases\020\213\016*\"\n\007DslType\022\007\n\003Dsl\020\000\022\016\n\nBool"
|
||||
"ExprV1\020\001*B\n\017CompactionState\022\021\n\rUndefiedS"
|
||||
"tate\020\000\022\r\n\tExecuting\020\001\022\r\n\tCompleted\020\002*X\n\020"
|
||||
"ConsistencyLevel\022\n\n\006Strong\020\000\022\013\n\007Session\020"
|
||||
"\001\022\013\n\007Bounded\020\002\022\016\n\nEventually\020\003\022\016\n\nCustom"
|
||||
"ized\020\004*\236\001\n\013ImportState\022\021\n\rImportPending\020"
|
||||
"\000\022\020\n\014ImportFailed\020\001\022\021\n\rImportStarted\020\002\022\023"
|
||||
"\n\017ImportPersisted\020\005\022\021\n\rImportFlushed\020\010\022\023"
|
||||
"\n\017ImportCompleted\020\006\022\032\n\026ImportFailedAndCl"
|
||||
"eaned\020\007*2\n\nObjectType\022\016\n\nCollection\020\000\022\n\n"
|
||||
"\006Global\020\001\022\010\n\004User\020\002*\241\010\n\017ObjectPrivilege\022"
|
||||
"\020\n\014PrivilegeAll\020\000\022\035\n\031PrivilegeCreateColl"
|
||||
"ection\020\001\022\033\n\027PrivilegeDropCollection\020\002\022\037\n"
|
||||
"\033PrivilegeDescribeCollection\020\003\022\034\n\030Privil"
|
||||
"egeShowCollections\020\004\022\021\n\rPrivilegeLoad\020\005\022"
|
||||
"\024\n\020PrivilegeRelease\020\006\022\027\n\023PrivilegeCompac"
|
||||
"tion\020\007\022\023\n\017PrivilegeInsert\020\010\022\023\n\017Privilege"
|
||||
"Delete\020\t\022\032\n\026PrivilegeGetStatistics\020\n\022\030\n\024"
|
||||
"PrivilegeCreateIndex\020\013\022\030\n\024PrivilegeIndex"
|
||||
"Detail\020\014\022\026\n\022PrivilegeDropIndex\020\r\022\023\n\017Priv"
|
||||
"ilegeSearch\020\016\022\022\n\016PrivilegeFlush\020\017\022\022\n\016Pri"
|
||||
"vilegeQuery\020\020\022\030\n\024PrivilegeLoadBalance\020\021\022"
|
||||
"\023\n\017PrivilegeImport\020\022\022\034\n\030PrivilegeCreateO"
|
||||
"wnership\020\023\022\027\n\023PrivilegeUpdateUser\020\024\022\032\n\026P"
|
||||
"rivilegeDropOwnership\020\025\022\034\n\030PrivilegeSele"
|
||||
"ctOwnership\020\026\022\034\n\030PrivilegeManageOwnershi"
|
||||
"p\020\027\022\027\n\023PrivilegeSelectUser\020\030\022\023\n\017Privileg"
|
||||
"eUpsert\020\031\022 \n\034PrivilegeCreateResourceGrou"
|
||||
"p\020\032\022\036\n\032PrivilegeDropResourceGroup\020\033\022\"\n\036P"
|
||||
"rivilegeDescribeResourceGroup\020\034\022\037\n\033Privi"
|
||||
"legeListResourceGroups\020\035\022\031\n\025PrivilegeTra"
|
||||
"nsferNode\020\036\022\034\n\030PrivilegeTransferReplica\020"
|
||||
"\037\022\037\n\033PrivilegeGetLoadingProgress\020 \022\031\n\025Pr"
|
||||
"ivilegeGetLoadState\020!\022\035\n\031PrivilegeRename"
|
||||
"Collection\020\"\022\033\n\027PrivilegeCreateDatabase\020"
|
||||
"#\022\031\n\025PrivilegeDropDatabase\020$\022\032\n\026Privileg"
|
||||
"eListDatabases\020%\022\025\n\021PrivilegeFlushAll\020&*"
|
||||
"S\n\tStateCode\022\020\n\014Initializing\020\000\022\013\n\007Health"
|
||||
"y\020\001\022\014\n\010Abnormal\020\002\022\013\n\007StandBy\020\003\022\014\n\010Stoppi"
|
||||
"ng\020\004*c\n\tLoadState\022\025\n\021LoadStateNotExist\020\000"
|
||||
"\022\024\n\020LoadStateNotLoad\020\001\022\024\n\020LoadStateLoadi"
|
||||
"ng\020\002\022\023\n\017LoadStateLoaded\020\003:^\n\021privilege_e"
|
||||
"xt_obj\022\037.google.protobuf.MessageOptions\030"
|
||||
"\351\007 \001(\0132!.milvus.proto.common.PrivilegeEx"
|
||||
"tBi\n\016io.milvus.grpcB\013CommonProtoP\001Z4gith"
|
||||
"ub.com/milvus-io/milvus-proto/go-api/v2/"
|
||||
"commonpb\240\001\001\252\002\016IO.Milvus.Grpcb\006proto3"
|
||||
"atVector\020e\022\t\n\005Int64\020\005\022\013\n\007VarChar\020\025*\264\020\n\007M"
|
||||
"sgType\022\r\n\tUndefined\020\000\022\024\n\020CreateCollectio"
|
||||
"n\020d\022\022\n\016DropCollection\020e\022\021\n\rHasCollection"
|
||||
"\020f\022\026\n\022DescribeCollection\020g\022\023\n\017ShowCollec"
|
||||
"tions\020h\022\024\n\020GetSystemConfigs\020i\022\022\n\016LoadCol"
|
||||
"lection\020j\022\025\n\021ReleaseCollection\020k\022\017\n\013Crea"
|
||||
"teAlias\020l\022\r\n\tDropAlias\020m\022\016\n\nAlterAlias\020n"
|
||||
"\022\023\n\017AlterCollection\020o\022\024\n\020RenameCollectio"
|
||||
"n\020p\022\021\n\rDescribeAlias\020q\022\017\n\013ListAliases\020r\022"
|
||||
"\024\n\017CreatePartition\020\310\001\022\022\n\rDropPartition\020\311"
|
||||
"\001\022\021\n\014HasPartition\020\312\001\022\026\n\021DescribePartitio"
|
||||
"n\020\313\001\022\023\n\016ShowPartitions\020\314\001\022\023\n\016LoadPartiti"
|
||||
"ons\020\315\001\022\026\n\021ReleasePartitions\020\316\001\022\021\n\014ShowSe"
|
||||
"gments\020\372\001\022\024\n\017DescribeSegment\020\373\001\022\021\n\014LoadS"
|
||||
"egments\020\374\001\022\024\n\017ReleaseSegments\020\375\001\022\024\n\017Hand"
|
||||
"offSegments\020\376\001\022\030\n\023LoadBalanceSegments\020\377\001"
|
||||
"\022\025\n\020DescribeSegments\020\200\002\022\034\n\027FederListInde"
|
||||
"xedSegment\020\201\002\022\"\n\035FederDescribeSegmentInd"
|
||||
"exData\020\202\002\022\020\n\013CreateIndex\020\254\002\022\022\n\rDescribeI"
|
||||
"ndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\027\n\022GetIndexStati"
|
||||
"stics\020\257\002\022\013\n\006Insert\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005Fl"
|
||||
"ush\020\222\003\022\027\n\022ResendSegmentStats\020\223\003\022\013\n\006Upser"
|
||||
"t\020\224\003\022\013\n\006Search\020\364\003\022\021\n\014SearchResult\020\365\003\022\022\n\r"
|
||||
"GetIndexState\020\366\003\022\032\n\025GetIndexBuildProgres"
|
||||
"s\020\367\003\022\034\n\027GetCollectionStatistics\020\370\003\022\033\n\026Ge"
|
||||
"tPartitionStatistics\020\371\003\022\r\n\010Retrieve\020\372\003\022\023"
|
||||
"\n\016RetrieveResult\020\373\003\022\024\n\017WatchDmChannels\020\374"
|
||||
"\003\022\025\n\020RemoveDmChannels\020\375\003\022\027\n\022WatchQueryCh"
|
||||
"annels\020\376\003\022\030\n\023RemoveQueryChannels\020\377\003\022\035\n\030S"
|
||||
"ealedSegmentsChangeInfo\020\200\004\022\027\n\022WatchDelta"
|
||||
"Channels\020\201\004\022\024\n\017GetShardLeaders\020\202\004\022\020\n\013Get"
|
||||
"Replicas\020\203\004\022\023\n\016UnsubDmChannel\020\204\004\022\024\n\017GetD"
|
||||
"istribution\020\205\004\022\025\n\020SyncDistribution\020\206\004\022\020\n"
|
||||
"\013SegmentInfo\020\330\004\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetR"
|
||||
"ecoveryInfo\020\332\004\022\024\n\017GetSegmentState\020\333\004\022\r\n\010"
|
||||
"TimeTick\020\260\t\022\023\n\016QueryNodeStats\020\261\t\022\016\n\tLoad"
|
||||
"Index\020\262\t\022\016\n\tRequestID\020\263\t\022\017\n\nRequestTSO\020\264"
|
||||
"\t\022\024\n\017AllocateSegment\020\265\t\022\026\n\021SegmentStatis"
|
||||
"tics\020\266\t\022\025\n\020SegmentFlushDone\020\267\t\022\017\n\nDataNo"
|
||||
"deTt\020\270\t\022\014\n\007Connect\020\271\t\022\024\n\017ListClientInfos"
|
||||
"\020\272\t\022\023\n\016AllocTimestamp\020\273\t\022\025\n\020CreateCreden"
|
||||
"tial\020\334\013\022\022\n\rGetCredential\020\335\013\022\025\n\020DeleteCre"
|
||||
"dential\020\336\013\022\025\n\020UpdateCredential\020\337\013\022\026\n\021Lis"
|
||||
"tCredUsernames\020\340\013\022\017\n\nCreateRole\020\300\014\022\r\n\010Dr"
|
||||
"opRole\020\301\014\022\024\n\017OperateUserRole\020\302\014\022\017\n\nSelec"
|
||||
"tRole\020\303\014\022\017\n\nSelectUser\020\304\014\022\023\n\016SelectResou"
|
||||
"rce\020\305\014\022\025\n\020OperatePrivilege\020\306\014\022\020\n\013SelectG"
|
||||
"rant\020\307\014\022\033\n\026RefreshPolicyInfoCache\020\310\014\022\017\n\n"
|
||||
"ListPolicy\020\311\014\022\030\n\023CreateResourceGroup\020\244\r\022"
|
||||
"\026\n\021DropResourceGroup\020\245\r\022\027\n\022ListResourceG"
|
||||
"roups\020\246\r\022\032\n\025DescribeResourceGroup\020\247\r\022\021\n\014"
|
||||
"TransferNode\020\250\r\022\024\n\017TransferReplica\020\251\r\022\023\n"
|
||||
"\016CreateDatabase\020\211\016\022\021\n\014DropDatabase\020\212\016\022\022\n"
|
||||
"\rListDatabases\020\213\016*\"\n\007DslType\022\007\n\003Dsl\020\000\022\016\n"
|
||||
"\nBoolExprV1\020\001*B\n\017CompactionState\022\021\n\rUnde"
|
||||
"fiedState\020\000\022\r\n\tExecuting\020\001\022\r\n\tCompleted\020"
|
||||
"\002*X\n\020ConsistencyLevel\022\n\n\006Strong\020\000\022\013\n\007Ses"
|
||||
"sion\020\001\022\013\n\007Bounded\020\002\022\016\n\nEventually\020\003\022\016\n\nC"
|
||||
"ustomized\020\004*\236\001\n\013ImportState\022\021\n\rImportPen"
|
||||
"ding\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImportStarte"
|
||||
"d\020\002\022\023\n\017ImportPersisted\020\005\022\021\n\rImportFlushe"
|
||||
"d\020\010\022\023\n\017ImportCompleted\020\006\022\032\n\026ImportFailed"
|
||||
"AndCleaned\020\007*2\n\nObjectType\022\016\n\nCollection"
|
||||
"\020\000\022\n\n\006Global\020\001\022\010\n\004User\020\002*\241\010\n\017ObjectPrivi"
|
||||
"lege\022\020\n\014PrivilegeAll\020\000\022\035\n\031PrivilegeCreat"
|
||||
"eCollection\020\001\022\033\n\027PrivilegeDropCollection"
|
||||
"\020\002\022\037\n\033PrivilegeDescribeCollection\020\003\022\034\n\030P"
|
||||
"rivilegeShowCollections\020\004\022\021\n\rPrivilegeLo"
|
||||
"ad\020\005\022\024\n\020PrivilegeRelease\020\006\022\027\n\023PrivilegeC"
|
||||
"ompaction\020\007\022\023\n\017PrivilegeInsert\020\010\022\023\n\017Priv"
|
||||
"ilegeDelete\020\t\022\032\n\026PrivilegeGetStatistics\020"
|
||||
"\n\022\030\n\024PrivilegeCreateIndex\020\013\022\030\n\024Privilege"
|
||||
"IndexDetail\020\014\022\026\n\022PrivilegeDropIndex\020\r\022\023\n"
|
||||
"\017PrivilegeSearch\020\016\022\022\n\016PrivilegeFlush\020\017\022\022"
|
||||
"\n\016PrivilegeQuery\020\020\022\030\n\024PrivilegeLoadBalan"
|
||||
"ce\020\021\022\023\n\017PrivilegeImport\020\022\022\034\n\030PrivilegeCr"
|
||||
"eateOwnership\020\023\022\027\n\023PrivilegeUpdateUser\020\024"
|
||||
"\022\032\n\026PrivilegeDropOwnership\020\025\022\034\n\030Privileg"
|
||||
"eSelectOwnership\020\026\022\034\n\030PrivilegeManageOwn"
|
||||
"ership\020\027\022\027\n\023PrivilegeSelectUser\020\030\022\023\n\017Pri"
|
||||
"vilegeUpsert\020\031\022 \n\034PrivilegeCreateResourc"
|
||||
"eGroup\020\032\022\036\n\032PrivilegeDropResourceGroup\020\033"
|
||||
"\022\"\n\036PrivilegeDescribeResourceGroup\020\034\022\037\n\033"
|
||||
"PrivilegeListResourceGroups\020\035\022\031\n\025Privile"
|
||||
"geTransferNode\020\036\022\034\n\030PrivilegeTransferRep"
|
||||
"lica\020\037\022\037\n\033PrivilegeGetLoadingProgress\020 \022"
|
||||
"\031\n\025PrivilegeGetLoadState\020!\022\035\n\031PrivilegeR"
|
||||
"enameCollection\020\"\022\033\n\027PrivilegeCreateData"
|
||||
"base\020#\022\031\n\025PrivilegeDropDatabase\020$\022\032\n\026Pri"
|
||||
"vilegeListDatabases\020%\022\025\n\021PrivilegeFlushA"
|
||||
"ll\020&*S\n\tStateCode\022\020\n\014Initializing\020\000\022\013\n\007H"
|
||||
"ealthy\020\001\022\014\n\010Abnormal\020\002\022\013\n\007StandBy\020\003\022\014\n\010S"
|
||||
"topping\020\004*c\n\tLoadState\022\025\n\021LoadStateNotEx"
|
||||
"ist\020\000\022\024\n\020LoadStateNotLoad\020\001\022\024\n\020LoadState"
|
||||
"Loading\020\002\022\023\n\017LoadStateLoaded\020\003:^\n\021privil"
|
||||
"ege_ext_obj\022\037.google.protobuf.MessageOpt"
|
||||
"ions\030\351\007 \001(\0132!.milvus.proto.common.Privil"
|
||||
"egeExtBi\n\016io.milvus.grpcB\013CommonProtoP\001Z"
|
||||
"4github.com/milvus-io/milvus-proto/go-ap"
|
||||
"i/v2/commonpb\240\001\001\252\002\016IO.Milvus.Grpcb\006proto"
|
||||
"3"
|
||||
;
|
||||
static const ::_pbi::DescriptorTable* const descriptor_table_common_2eproto_deps[1] = {
|
||||
&::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
|
||||
};
|
||||
static ::_pbi::once_flag descriptor_table_common_2eproto_once;
|
||||
const ::_pbi::DescriptorTable descriptor_table_common_2eproto = {
|
||||
false, false, 7036, descriptor_table_protodef_common_2eproto,
|
||||
false, false, 7081, descriptor_table_protodef_common_2eproto,
|
||||
"common.proto",
|
||||
&descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_deps, 1, 16,
|
||||
schemas, file_default_instances, TableStruct_common_2eproto::offsets,
|
||||
|
@ -759,6 +761,8 @@ const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PlaceholderType_descriptor() {
|
|||
bool PlaceholderType_IsValid(int value) {
|
||||
switch (value) {
|
||||
case 0:
|
||||
case 5:
|
||||
case 21:
|
||||
case 100:
|
||||
case 101:
|
||||
return true;
|
||||
|
@ -848,6 +852,7 @@ bool MsgType_IsValid(int value) {
|
|||
case 1208:
|
||||
case 1209:
|
||||
case 1210:
|
||||
case 1211:
|
||||
case 1500:
|
||||
case 1501:
|
||||
case 1502:
|
||||
|
|
|
@ -271,6 +271,8 @@ enum PlaceholderType : int {
|
|||
None = 0,
|
||||
BinaryVector = 100,
|
||||
FloatVector = 101,
|
||||
Int64 = 5,
|
||||
VarChar = 21,
|
||||
PlaceholderType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
|
||||
PlaceholderType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
|
||||
};
|
||||
|
@ -369,6 +371,7 @@ enum MsgType : int {
|
|||
DataNodeTt = 1208,
|
||||
Connect = 1209,
|
||||
ListClientInfos = 1210,
|
||||
AllocTimestamp = 1211,
|
||||
CreateCredential = 1500,
|
||||
GetCredential = 1501,
|
||||
DeleteCredential = 1502,
|
||||
|
|
|
@ -272,7 +272,7 @@ func (s *Server) GetIndexState(ctx context.Context, req *indexpb.GetIndexStateRe
|
|||
}
|
||||
s.completeIndexInfo(indexInfo, indexes[0], s.meta.SelectSegments(func(info *SegmentInfo) bool {
|
||||
return isFlush(info) && info.CollectionID == req.GetCollectionID()
|
||||
}), false)
|
||||
}), false, indexes[0].CreateTime)
|
||||
ret.State = indexInfo.State
|
||||
ret.FailReason = indexInfo.IndexStateFailReason
|
||||
|
||||
|
@ -379,7 +379,7 @@ func (s *Server) countIndexedRows(indexInfo *indexpb.IndexInfo, segments []*Segm
|
|||
// completeIndexInfo get the index row count and index task state
|
||||
// if realTime, calculate current statistics
|
||||
// if not realTime, which means get info of the prior `CreateIndex` action, skip segments created after index's create time
|
||||
func (s *Server) completeIndexInfo(indexInfo *indexpb.IndexInfo, index *model.Index, segments []*SegmentInfo, realTime bool) {
|
||||
func (s *Server) completeIndexInfo(indexInfo *indexpb.IndexInfo, index *model.Index, segments []*SegmentInfo, realTime bool, ts Timestamp) {
|
||||
var (
|
||||
cntNone = 0
|
||||
cntUnissued = 0
|
||||
|
@ -397,7 +397,7 @@ func (s *Server) completeIndexInfo(indexInfo *indexpb.IndexInfo, index *model.In
|
|||
segIdx, ok := seg.segmentIndexes[index.IndexID]
|
||||
|
||||
if !ok {
|
||||
if seg.GetStartPosition().GetTimestamp() <= index.CreateTime {
|
||||
if seg.GetStartPosition().GetTimestamp() <= ts {
|
||||
cntUnissued++
|
||||
}
|
||||
pendingIndexRows += seg.GetNumOfRows()
|
||||
|
@ -409,7 +409,7 @@ func (s *Server) completeIndexInfo(indexInfo *indexpb.IndexInfo, index *model.In
|
|||
|
||||
// if realTime, calculate current statistics
|
||||
// if not realTime, skip segments created after index create
|
||||
if !realTime && seg.GetStartPosition().GetTimestamp() > index.CreateTime {
|
||||
if !realTime && seg.GetStartPosition().GetTimestamp() > ts {
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -506,8 +506,9 @@ func (s *Server) GetIndexBuildProgress(ctx context.Context, req *indexpb.GetInde
|
|||
}
|
||||
s.completeIndexInfo(indexInfo, indexes[0], s.meta.SelectSegments(func(info *SegmentInfo) bool {
|
||||
return isFlush(info) && info.CollectionID == req.GetCollectionID()
|
||||
}), false)
|
||||
log.Info("GetIndexBuildProgress success", zap.String("indexName", req.GetIndexName()))
|
||||
}), false, indexes[0].CreateTime)
|
||||
log.Info("GetIndexBuildProgress success", zap.Int64("collectionID", req.GetCollectionID()),
|
||||
zap.String("indexName", req.GetIndexName()))
|
||||
return &indexpb.GetIndexBuildProgressResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
|
@ -523,7 +524,8 @@ func (s *Server) DescribeIndex(ctx context.Context, req *indexpb.DescribeIndexRe
|
|||
log := log.Ctx(ctx).With(
|
||||
zap.Int64("collectionID", req.CollectionID),
|
||||
)
|
||||
log.Info("receive DescribeIndex request", zap.String("indexName", req.GetIndexName()))
|
||||
log.Info("receive DescribeIndex request", zap.String("indexName", req.GetIndexName()),
|
||||
zap.Uint64("timestamp", req.GetTimestamp()))
|
||||
errResp := &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: "",
|
||||
|
@ -569,7 +571,11 @@ func (s *Server) DescribeIndex(ctx context.Context, req *indexpb.DescribeIndexRe
|
|||
IsAutoIndex: index.IsAutoIndex,
|
||||
UserIndexParams: index.UserIndexParams,
|
||||
}
|
||||
s.completeIndexInfo(indexInfo, index, segments, false)
|
||||
createTs := index.CreateTime
|
||||
if req.GetTimestamp() != 0 {
|
||||
createTs = req.GetTimestamp()
|
||||
}
|
||||
s.completeIndexInfo(indexInfo, index, segments, false, createTs)
|
||||
indexInfos = append(indexInfos, indexInfo)
|
||||
}
|
||||
log.Info("DescribeIndex success", zap.String("indexName", req.GetIndexName()))
|
||||
|
@ -628,7 +634,7 @@ func (s *Server) GetIndexStatistics(ctx context.Context, req *indexpb.GetIndexSt
|
|||
IsAutoIndex: index.IsAutoIndex,
|
||||
UserIndexParams: index.UserIndexParams,
|
||||
}
|
||||
s.completeIndexInfo(indexInfo, index, segments, true)
|
||||
s.completeIndexInfo(indexInfo, index, segments, true, index.CreateTime)
|
||||
indexInfos = append(indexInfos, indexInfo)
|
||||
}
|
||||
log.Debug("GetIndexStatisticsResponse success",
|
||||
|
|
|
@ -691,6 +691,7 @@ func TestServer_DescribeIndex(t *testing.T) {
|
|||
req = &indexpb.DescribeIndexRequest{
|
||||
CollectionID: collID,
|
||||
IndexName: "",
|
||||
Timestamp: createTS,
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -958,3 +958,7 @@ func (s *Server) DropDatabase(ctx context.Context, request *milvuspb.DropDatabas
|
|||
func (s *Server) ListDatabases(ctx context.Context, request *milvuspb.ListDatabasesRequest) (*milvuspb.ListDatabasesResponse, error) {
|
||||
return s.proxy.ListDatabases(ctx, request)
|
||||
}
|
||||
|
||||
func (s *Server) AllocTimestamp(ctx context.Context, req *milvuspb.AllocTimestampRequest) (*milvuspb.AllocTimestampResponse, error) {
|
||||
return s.proxy.AllocTimestamp(ctx, req)
|
||||
}
|
||||
|
|
|
@ -889,6 +889,10 @@ func (m *MockProxy) Connect(ctx context.Context, req *milvuspb.ConnectRequest) (
|
|||
return nil, nil
|
||||
}
|
||||
|
||||
func (m *MockProxy) AllocTimestamp(ctx context.Context, req *milvuspb.AllocTimestampRequest) (*milvuspb.AllocTimestampResponse, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
type WaitOption struct {
|
||||
|
@ -1380,6 +1384,11 @@ func Test_NewServer(t *testing.T) {
|
|||
_, err := server.ListDatabases(ctx, nil)
|
||||
assert.Nil(t, err)
|
||||
})
|
||||
|
||||
t.Run("AllocTimestamp", func(t *testing.T) {
|
||||
_, err := server.AllocTimestamp(ctx, nil)
|
||||
assert.Nil(t, err)
|
||||
})
|
||||
err = server.Stop()
|
||||
assert.NoError(t, err)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -176,6 +176,7 @@ message DropIndexRequest {
|
|||
message DescribeIndexRequest {
|
||||
int64 collectionID = 1;
|
||||
string index_name = 2;
|
||||
uint64 timestamp = 3;
|
||||
}
|
||||
|
||||
message DescribeIndexResponse {
|
||||
|
|
|
@ -1169,6 +1169,7 @@ func (m *DropIndexRequest) GetDropAll() bool {
|
|||
type DescribeIndexRequest struct {
|
||||
CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
|
||||
IndexName string `protobuf:"bytes,2,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"`
|
||||
Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -1213,6 +1214,13 @@ func (m *DescribeIndexRequest) GetIndexName() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *DescribeIndexRequest) GetTimestamp() uint64 {
|
||||
if m != nil {
|
||||
return m.Timestamp
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DescribeIndexResponse struct {
|
||||
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
|
||||
IndexInfos []*IndexInfo `protobuf:"bytes,2,rep,name=index_infos,json=indexInfos,proto3" json:"index_infos,omitempty"`
|
||||
|
@ -2141,148 +2149,149 @@ func init() {
|
|||
func init() { proto.RegisterFile("index_coord.proto", fileDescriptor_f9e019eb3fda53c2) }
|
||||
|
||||
var fileDescriptor_f9e019eb3fda53c2 = []byte{
|
||||
// 2249 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49,
|
||||
0x15, 0x4f, 0xbb, 0x3d, 0x33, 0xee, 0xd7, 0xf6, 0x7c, 0x54, 0xb2, 0xe0, 0x38, 0x09, 0x99, 0x74,
|
||||
0x36, 0xc9, 0x80, 0xc8, 0x24, 0xcc, 0xb2, 0x68, 0x41, 0x80, 0x34, 0x99, 0xd9, 0x24, 0x4e, 0x36,
|
||||
0xd1, 0xd0, 0x8e, 0x56, 0x62, 0x85, 0x30, 0x6d, 0x77, 0x79, 0xa6, 0x76, 0xda, 0x5d, 0x4e, 0x57,
|
||||
0x75, 0x92, 0x09, 0x12, 0x82, 0xc3, 0x1e, 0x40, 0x2b, 0x21, 0x10, 0x12, 0xff, 0x00, 0xa7, 0xe5,
|
||||
0x3f, 0xe0, 0xc2, 0x85, 0x23, 0x27, 0xee, 0x5c, 0xf8, 0x27, 0xb8, 0xa2, 0xfa, 0xe8, 0x76, 0x77,
|
||||
0xbb, 0x3d, 0xf6, 0x7c, 0x20, 0x24, 0xf6, 0xe6, 0x7a, 0xf5, 0xea, 0xa3, 0xdf, 0xfb, 0xbd, 0xf7,
|
||||
0x7b, 0xaf, 0x0c, 0x6b, 0x24, 0xf4, 0xf1, 0x9b, 0x6e, 0x9f, 0xd2, 0xc8, 0xdf, 0x1c, 0x45, 0x94,
|
||||
0x53, 0x84, 0x86, 0x24, 0x78, 0x15, 0x33, 0x35, 0xda, 0x94, 0xf3, 0xad, 0x7a, 0x9f, 0x0e, 0x87,
|
||||
0x34, 0x54, 0xb2, 0xd6, 0x32, 0x09, 0x39, 0x8e, 0x42, 0x2f, 0xd0, 0xe3, 0x7a, 0x76, 0x85, 0xf3,
|
||||
0xcf, 0x2a, 0x58, 0x6d, 0xb1, 0xaa, 0x1d, 0x0e, 0x28, 0x72, 0xa0, 0xde, 0xa7, 0x41, 0x80, 0xfb,
|
||||
0x9c, 0xd0, 0xb0, 0xbd, 0xdb, 0x34, 0xd6, 0x8d, 0x0d, 0xd3, 0xcd, 0xc9, 0x50, 0x13, 0x96, 0x06,
|
||||
0x04, 0x07, 0x7e, 0x7b, 0xb7, 0x59, 0x91, 0xd3, 0xc9, 0x10, 0x5d, 0x03, 0x50, 0x17, 0x0c, 0xbd,
|
||||
0x21, 0x6e, 0x9a, 0xeb, 0xc6, 0x86, 0xe5, 0x5a, 0x52, 0xf2, 0xdc, 0x1b, 0x62, 0xb1, 0x50, 0x0e,
|
||||
0xda, 0xbb, 0xcd, 0xaa, 0x5a, 0xa8, 0x87, 0xe8, 0x01, 0xd8, 0xfc, 0x68, 0x84, 0xbb, 0x23, 0x2f,
|
||||
0xf2, 0x86, 0xac, 0xb9, 0xb0, 0x6e, 0x6e, 0xd8, 0x5b, 0x37, 0x36, 0x73, 0x9f, 0xa6, 0xbf, 0xe9,
|
||||
0x29, 0x3e, 0xfa, 0xd8, 0x0b, 0x62, 0xbc, 0xe7, 0x91, 0xc8, 0x05, 0xb1, 0x6a, 0x4f, 0x2e, 0x42,
|
||||
0xbb, 0x50, 0x57, 0x87, 0xeb, 0x4d, 0x16, 0xe7, 0xdd, 0xc4, 0x96, 0xcb, 0xf4, 0x2e, 0x37, 0xf4,
|
||||
0x2e, 0xd8, 0xef, 0x46, 0xf4, 0x35, 0x6b, 0x2e, 0xc9, 0x8b, 0xda, 0x5a, 0xe6, 0xd2, 0xd7, 0x4c,
|
||||
0x7c, 0x25, 0xa7, 0xdc, 0x0b, 0x94, 0x42, 0x4d, 0x2a, 0x58, 0x52, 0x22, 0xa7, 0xdf, 0x87, 0x05,
|
||||
0xc6, 0x3d, 0x8e, 0x9b, 0xd6, 0xba, 0xb1, 0xb1, 0xbc, 0x75, 0xbd, 0xf4, 0x02, 0xd2, 0xe2, 0x1d,
|
||||
0xa1, 0xe6, 0x2a, 0x6d, 0xf4, 0x3e, 0x7c, 0x55, 0x5d, 0x5f, 0x0e, 0xbb, 0x03, 0x8f, 0x04, 0xdd,
|
||||
0x08, 0x7b, 0x8c, 0x86, 0x4d, 0x90, 0x86, 0xbc, 0x44, 0xd2, 0x35, 0x0f, 0x3d, 0x12, 0xb8, 0x72,
|
||||
0x0e, 0x39, 0xd0, 0x20, 0xac, 0xeb, 0xc5, 0x9c, 0x76, 0xe5, 0x7c, 0xd3, 0x5e, 0x37, 0x36, 0x6a,
|
||||
0xae, 0x4d, 0xd8, 0x76, 0xcc, 0xa9, 0x3c, 0x06, 0x3d, 0x83, 0xb5, 0x98, 0xe1, 0xa8, 0x9b, 0x33,
|
||||
0x4f, 0x7d, 0x5e, 0xf3, 0xac, 0x88, 0xb5, 0xed, 0x8c, 0x89, 0xbe, 0x09, 0x68, 0x84, 0x43, 0x9f,
|
||||
0x84, 0xfb, 0x7a, 0x47, 0x69, 0x87, 0x86, 0xb4, 0xc3, 0xaa, 0x9e, 0x91, 0xfa, 0xc2, 0x1c, 0xce,
|
||||
0x67, 0x06, 0xc0, 0x43, 0x89, 0x0f, 0x79, 0x97, 0xef, 0x27, 0x10, 0x21, 0xe1, 0x80, 0x4a, 0x78,
|
||||
0xd9, 0x5b, 0xd7, 0x36, 0x27, 0x31, 0xbc, 0x99, 0x62, 0x52, 0x23, 0x48, 0xc2, 0xb3, 0x09, 0x4b,
|
||||
0x3e, 0x0e, 0x30, 0xc7, 0xbe, 0x84, 0x5e, 0xcd, 0x4d, 0x86, 0xe8, 0x3a, 0xd8, 0xfd, 0x08, 0x0b,
|
||||
0xcb, 0x71, 0xa2, 0xb1, 0x57, 0x75, 0x41, 0x89, 0x5e, 0x90, 0x21, 0x76, 0x3e, 0xab, 0x42, 0xbd,
|
||||
0x83, 0xf7, 0x87, 0x38, 0xe4, 0xea, 0x26, 0xf3, 0x40, 0x7d, 0x1d, 0xec, 0x91, 0x17, 0x71, 0xa2,
|
||||
0x55, 0x14, 0xdc, 0xb3, 0x22, 0x74, 0x15, 0x2c, 0xa6, 0x77, 0xdd, 0x95, 0xa7, 0x9a, 0xee, 0x58,
|
||||
0x80, 0x2e, 0x43, 0x2d, 0x8c, 0x87, 0xca, 0x40, 0x1a, 0xf2, 0x61, 0x3c, 0x94, 0x30, 0xc9, 0x04,
|
||||
0xc3, 0x42, 0x3e, 0x18, 0x9a, 0xb0, 0xd4, 0x8b, 0x89, 0x8c, 0xaf, 0x45, 0x35, 0xa3, 0x87, 0xe8,
|
||||
0x2b, 0xb0, 0x18, 0x52, 0x1f, 0xb7, 0x77, 0x35, 0x2c, 0xf5, 0x08, 0xdd, 0x84, 0x86, 0x32, 0xea,
|
||||
0x2b, 0x1c, 0x31, 0x42, 0x43, 0x0d, 0x4a, 0x85, 0xe4, 0x8f, 0x95, 0xec, 0xb4, 0xb8, 0xbc, 0x0e,
|
||||
0xf6, 0x24, 0x16, 0x61, 0x30, 0x46, 0xe0, 0x6d, 0x58, 0x51, 0x87, 0x0f, 0x48, 0x80, 0xbb, 0x87,
|
||||
0xf8, 0x88, 0x35, 0xed, 0x75, 0x73, 0xc3, 0x72, 0xd5, 0x9d, 0x1e, 0x92, 0x00, 0x3f, 0xc5, 0x47,
|
||||
0x2c, 0xeb, 0xbb, 0xfa, 0xb1, 0xbe, 0x6b, 0x14, 0x7d, 0x87, 0x6e, 0xc1, 0x32, 0xc3, 0x11, 0xf1,
|
||||
0x02, 0xf2, 0x16, 0x77, 0x19, 0x79, 0x8b, 0x9b, 0xcb, 0x52, 0xa7, 0x91, 0x4a, 0x3b, 0xe4, 0x2d,
|
||||
0x16, 0x66, 0x78, 0x1d, 0x11, 0x8e, 0xbb, 0x07, 0x5e, 0xe8, 0xd3, 0xc1, 0xa0, 0xb9, 0x22, 0xcf,
|
||||
0xa9, 0x4b, 0xe1, 0x63, 0x25, 0x73, 0xfe, 0x68, 0xc0, 0x45, 0x17, 0xef, 0x13, 0xc6, 0x71, 0xf4,
|
||||
0x9c, 0xfa, 0xd8, 0xc5, 0x2f, 0x63, 0xcc, 0x38, 0xba, 0x0f, 0xd5, 0x9e, 0xc7, 0xb0, 0x86, 0xe4,
|
||||
0xd5, 0x52, 0xeb, 0x3c, 0x63, 0xfb, 0x0f, 0x3c, 0x86, 0x5d, 0xa9, 0x89, 0xbe, 0x03, 0x4b, 0x9e,
|
||||
0xef, 0x47, 0x98, 0x31, 0x09, 0x8c, 0x69, 0x8b, 0xb6, 0x95, 0x8e, 0x9b, 0x28, 0x67, 0xbc, 0x68,
|
||||
0x66, 0xbd, 0xe8, 0xfc, 0xd6, 0x80, 0x4b, 0xf9, 0x9b, 0xb1, 0x11, 0x0d, 0x19, 0x46, 0xef, 0xc1,
|
||||
0xa2, 0xf0, 0x45, 0xcc, 0xf4, 0xe5, 0xae, 0x94, 0x9e, 0xd3, 0x91, 0x2a, 0xae, 0x56, 0x15, 0x29,
|
||||
0x95, 0x84, 0x84, 0x27, 0xe1, 0xae, 0x6e, 0x78, 0xa3, 0x18, 0x69, 0x9a, 0x18, 0xda, 0x21, 0xe1,
|
||||
0x2a, 0xba, 0x5d, 0x20, 0xe9, 0x6f, 0xe7, 0xc7, 0x70, 0xe9, 0x11, 0xe6, 0x19, 0x4c, 0x68, 0x5b,
|
||||
0xcd, 0x13, 0x3a, 0x79, 0x2e, 0xa8, 0x14, 0xb8, 0xc0, 0xf9, 0x93, 0x01, 0xef, 0x14, 0xf6, 0x3e,
|
||||
0xcb, 0xd7, 0xa6, 0xe0, 0xae, 0x9c, 0x05, 0xdc, 0x66, 0x11, 0xdc, 0xce, 0x2f, 0x0d, 0xb8, 0xf2,
|
||||
0x08, 0xf3, 0x6c, 0xe2, 0x38, 0x67, 0x4b, 0xa0, 0xaf, 0x01, 0xa4, 0x09, 0x83, 0x35, 0xcd, 0x75,
|
||||
0x73, 0xc3, 0x74, 0x33, 0x12, 0xe7, 0xd7, 0x06, 0xac, 0x4d, 0x9c, 0x9f, 0xcf, 0x3b, 0x46, 0x31,
|
||||
0xef, 0xfc, 0xb7, 0xcc, 0xf1, 0x7b, 0x03, 0xae, 0x96, 0x9b, 0xe3, 0x2c, 0xce, 0xfb, 0x81, 0x5a,
|
||||
0x84, 0x05, 0x4a, 0x05, 0x29, 0xdd, 0x2a, 0xe3, 0x83, 0xc9, 0x33, 0xf5, 0x22, 0xe7, 0x73, 0x13,
|
||||
0xd0, 0x8e, 0x4c, 0x16, 0x8a, 0x75, 0x4e, 0xe0, 0x9a, 0x53, 0x97, 0x32, 0x85, 0x82, 0xa5, 0x7a,
|
||||
0x1e, 0x05, 0xcb, 0xc2, 0xa9, 0x0a, 0x96, 0xab, 0x60, 0x89, 0xac, 0xc9, 0xb8, 0x37, 0x1c, 0x49,
|
||||
0xbe, 0xa8, 0xba, 0x63, 0xc1, 0x64, 0x79, 0xb0, 0x34, 0x67, 0x79, 0x50, 0x3b, 0x6d, 0x79, 0xe0,
|
||||
0xbc, 0x81, 0x8b, 0x49, 0x60, 0x4b, 0xfa, 0x3e, 0x81, 0x3b, 0xf2, 0xa1, 0x50, 0x29, 0x86, 0xc2,
|
||||
0x0c, 0xa7, 0x38, 0xff, 0xae, 0xc0, 0x5a, 0x3b, 0xe1, 0x9c, 0x3d, 0x8f, 0x1f, 0xc8, 0x9a, 0xe1,
|
||||
0xf8, 0x48, 0x99, 0x8e, 0x80, 0x0c, 0x41, 0x9b, 0x53, 0x09, 0xba, 0x9a, 0x27, 0xe8, 0xfc, 0x05,
|
||||
0x17, 0x8a, 0xa8, 0x39, 0x9f, 0x12, 0x75, 0x03, 0x56, 0x33, 0x84, 0x3b, 0xf2, 0xf8, 0x81, 0x28,
|
||||
0x53, 0x05, 0xe3, 0x2e, 0x93, 0xec, 0xd7, 0x33, 0x74, 0x07, 0x56, 0x52, 0x86, 0xf4, 0x15, 0x71,
|
||||
0xd6, 0x24, 0x42, 0xc6, 0x74, 0xea, 0x27, 0xcc, 0x99, 0x2f, 0x20, 0xac, 0x92, 0x02, 0x22, 0x5b,
|
||||
0xcc, 0x40, 0xae, 0x98, 0x71, 0xfe, 0x62, 0x80, 0x9d, 0x06, 0xe8, 0x9c, 0x6d, 0x44, 0xce, 0x2f,
|
||||
0x95, 0xa2, 0x5f, 0x6e, 0x40, 0x1d, 0x87, 0x5e, 0x2f, 0xc0, 0x1a, 0xb7, 0xa6, 0xc2, 0xad, 0x92,
|
||||
0x29, 0xdc, 0x3e, 0x04, 0x7b, 0x5c, 0x4a, 0x26, 0x31, 0x78, 0x6b, 0x6a, 0x2d, 0x99, 0x05, 0x85,
|
||||
0x0b, 0x69, 0x4d, 0xc9, 0x9c, 0xdf, 0x54, 0xc6, 0x34, 0xa7, 0x10, 0x7b, 0x96, 0x64, 0xf6, 0x13,
|
||||
0xa8, 0xeb, 0xaf, 0x50, 0x25, 0xae, 0x4a, 0x69, 0xdf, 0x2d, 0xbb, 0x56, 0xd9, 0xa1, 0x9b, 0x19,
|
||||
0x33, 0x7e, 0x18, 0xf2, 0xe8, 0xc8, 0xb5, 0xd9, 0x58, 0xd2, 0xea, 0xc2, 0x6a, 0x51, 0x01, 0xad,
|
||||
0x82, 0x79, 0x88, 0x8f, 0xb4, 0x8d, 0xc5, 0x4f, 0x91, 0xfe, 0x5f, 0x09, 0xec, 0x68, 0xd6, 0xbf,
|
||||
0x7e, 0x6c, 0x3e, 0x1d, 0x50, 0x57, 0x69, 0x7f, 0xaf, 0xf2, 0x81, 0xe1, 0xfc, 0xc1, 0x80, 0xd5,
|
||||
0xdd, 0x88, 0x8e, 0x4e, 0x9c, 0x4a, 0x1d, 0xa8, 0x67, 0xea, 0xe2, 0x24, 0x7a, 0x73, 0xb2, 0x59,
|
||||
0x49, 0xf5, 0x32, 0xd4, 0xfc, 0x88, 0x8e, 0xba, 0x5e, 0x10, 0xc8, 0xc0, 0x12, 0x25, 0x62, 0x44,
|
||||
0x47, 0xdb, 0x41, 0x20, 0x2a, 0x91, 0x5d, 0xcc, 0xfa, 0x11, 0xe9, 0x9d, 0x3c, 0xc9, 0xcf, 0xa8,
|
||||
0x44, 0x3e, 0x37, 0xe0, 0x9d, 0xc2, 0xde, 0x67, 0xf1, 0xff, 0x0f, 0xf3, 0xa8, 0x54, 0xee, 0x9f,
|
||||
0xd1, 0xe1, 0x64, 0xd1, 0xe8, 0x49, 0x86, 0x95, 0x73, 0x0f, 0x44, 0x56, 0xd9, 0x8b, 0xe8, 0xbe,
|
||||
0xac, 0x1f, 0xcf, 0xef, 0x8b, 0xff, 0x66, 0xc0, 0xb5, 0x29, 0x67, 0x9c, 0xe5, 0xcb, 0x8b, 0xad,
|
||||
0x73, 0x65, 0x56, 0xeb, 0x6c, 0x16, 0x5b, 0xe7, 0xf2, 0xce, 0xb2, 0x3a, 0xa5, 0xb3, 0xfc, 0x73,
|
||||
0x05, 0x1a, 0x1d, 0x4e, 0x23, 0x6f, 0x1f, 0xef, 0xd0, 0x70, 0x40, 0xf6, 0x45, 0x62, 0x4e, 0x2a,
|
||||
0x72, 0x43, 0x7e, 0x74, 0x5a, 0x73, 0xdf, 0x80, 0xba, 0xd7, 0xef, 0x63, 0xc6, 0x44, 0x83, 0xa2,
|
||||
0xf3, 0x8d, 0xe5, 0xda, 0x4a, 0xf6, 0x54, 0x88, 0xd0, 0x37, 0x60, 0x8d, 0xe1, 0x7e, 0x84, 0x79,
|
||||
0x77, 0xac, 0xa9, 0x31, 0xba, 0xa2, 0x26, 0xb6, 0x13, 0x6d, 0x51, 0xc2, 0xc7, 0x0c, 0x77, 0x3a,
|
||||
0x1f, 0x69, 0x9c, 0xea, 0x91, 0x28, 0xa0, 0x7a, 0x71, 0xff, 0x10, 0xf3, 0x2c, 0x01, 0x80, 0x12,
|
||||
0x49, 0x88, 0x5f, 0x01, 0x2b, 0xa2, 0x94, 0xcb, 0xac, 0x2d, 0xd9, 0xda, 0x72, 0x6b, 0x42, 0x20,
|
||||
0x12, 0x93, 0xde, 0xb5, 0xbd, 0xfd, 0x4c, 0xb3, 0xb4, 0x1e, 0x89, 0x2e, 0xb4, 0xbd, 0xfd, 0xec,
|
||||
0xc3, 0xd0, 0x1f, 0x51, 0x12, 0x72, 0x99, 0xc2, 0x2d, 0x37, 0x2b, 0x12, 0x9f, 0xc7, 0x94, 0x25,
|
||||
0xba, 0xa2, 0xc0, 0x90, 0xe9, 0xdb, 0x72, 0x6d, 0x2d, 0x7b, 0x71, 0x34, 0xc2, 0xce, 0xbf, 0x4c,
|
||||
0x58, 0x55, 0x55, 0xd2, 0x13, 0xda, 0x4b, 0xc0, 0x74, 0x15, 0xac, 0x7e, 0x10, 0x8b, 0x86, 0x43,
|
||||
0x23, 0xc9, 0x72, 0xc7, 0x02, 0x61, 0x91, 0x2c, 0xd1, 0x44, 0x78, 0x40, 0xde, 0x68, 0xcb, 0xad,
|
||||
0x8c, 0x99, 0x46, 0x8a, 0xb3, 0x9c, 0x68, 0x4e, 0x70, 0xa2, 0xef, 0x71, 0x4f, 0x13, 0x55, 0x55,
|
||||
0x12, 0x95, 0x25, 0x24, 0x8a, 0xa3, 0x26, 0xa8, 0x67, 0xa1, 0x84, 0x7a, 0x32, 0x5c, 0xbc, 0x98,
|
||||
0xe7, 0xe2, 0x3c, 0xd4, 0x97, 0x8a, 0x29, 0xe5, 0x31, 0x2c, 0x27, 0x86, 0xe9, 0x4b, 0x8c, 0x48,
|
||||
0xeb, 0x95, 0x34, 0x42, 0x32, 0x25, 0x66, 0xc1, 0xe4, 0x36, 0x58, 0x0e, 0x5b, 0x45, 0xee, 0xb6,
|
||||
0x4e, 0xc5, 0xdd, 0x85, 0xba, 0x11, 0x4e, 0x53, 0x37, 0x66, 0x79, 0xd8, 0xce, 0xf3, 0xf0, 0x47,
|
||||
0xb0, 0xfa, 0xa3, 0x18, 0x47, 0x47, 0x4f, 0x68, 0x8f, 0xcd, 0xe7, 0xe3, 0x16, 0xd4, 0xb4, 0xa3,
|
||||
0x92, 0x94, 0x9d, 0x8e, 0x9d, 0x7f, 0x18, 0xd0, 0x90, 0xe1, 0xf6, 0xc2, 0x63, 0x87, 0xc9, 0xfb,
|
||||
0x4b, 0xe2, 0x65, 0x23, 0xef, 0xe5, 0x53, 0x76, 0x1c, 0x25, 0x8f, 0x07, 0x66, 0xd9, 0xe3, 0x41,
|
||||
0x49, 0x25, 0x53, 0x2d, 0xad, 0x64, 0x0a, 0x2d, 0xcc, 0xc2, 0x44, 0x0b, 0xf3, 0x85, 0x01, 0x6b,
|
||||
0x19, 0x1b, 0x9d, 0x25, 0xe1, 0xe5, 0x2c, 0x5b, 0x29, 0x5a, 0xf6, 0x41, 0x9e, 0x08, 0xcc, 0x32,
|
||||
0x57, 0x67, 0x88, 0x20, 0xb1, 0x71, 0x8e, 0x0c, 0x9e, 0xc2, 0x8a, 0x20, 0xe3, 0xf3, 0x71, 0xe7,
|
||||
0xdf, 0x0d, 0x58, 0x7a, 0x42, 0x7b, 0xd2, 0x91, 0x59, 0x0c, 0x19, 0xf9, 0x87, 0xa9, 0x55, 0x30,
|
||||
0x7d, 0x32, 0xd4, 0xd9, 0x5b, 0xfc, 0x14, 0x31, 0xc6, 0xb8, 0x17, 0xf1, 0xf1, 0xd3, 0x9a, 0x28,
|
||||
0xd5, 0x84, 0x44, 0xbe, 0xce, 0x5c, 0x86, 0x1a, 0x0e, 0x7d, 0x35, 0xa9, 0xeb, 0x61, 0x1c, 0xfa,
|
||||
0x72, 0xea, 0x7c, 0x5a, 0x9c, 0x4b, 0xb0, 0x30, 0xa2, 0xe3, 0xe7, 0x30, 0x35, 0x70, 0x2e, 0x01,
|
||||
0x7a, 0x84, 0xf9, 0x13, 0xda, 0x13, 0x5e, 0x49, 0xcc, 0xe3, 0xfc, 0xb5, 0x22, 0xdb, 0x8f, 0xb1,
|
||||
0xf8, 0x2c, 0x0e, 0x76, 0xa0, 0xa1, 0xe8, 0xea, 0x53, 0xda, 0xeb, 0x86, 0x71, 0x62, 0x14, 0x5b,
|
||||
0x0a, 0x9f, 0xd0, 0xde, 0xf3, 0x78, 0x88, 0xee, 0xc2, 0x45, 0x12, 0x76, 0x47, 0x9a, 0x41, 0x53,
|
||||
0x4d, 0x65, 0xa5, 0x55, 0x12, 0x26, 0xdc, 0xaa, 0xd5, 0x6f, 0xc3, 0x0a, 0x0e, 0x5f, 0xc6, 0x38,
|
||||
0xc6, 0xa9, 0xaa, 0xb2, 0x59, 0x43, 0x8b, 0xb5, 0x9e, 0x60, 0x4a, 0x8f, 0x1d, 0x76, 0x59, 0x40,
|
||||
0x39, 0xd3, 0x39, 0xd1, 0x12, 0x92, 0x8e, 0x10, 0xa0, 0x0f, 0xc0, 0x12, 0xcb, 0x15, 0xb4, 0x54,
|
||||
0x1b, 0x71, 0xa5, 0x0c, 0x5a, 0xda, 0xdf, 0x6e, 0xed, 0x53, 0xf5, 0x83, 0x89, 0x00, 0xd1, 0x85,
|
||||
0xb5, 0x4f, 0xd8, 0xa1, 0x66, 0x1a, 0x50, 0xa2, 0x5d, 0xc2, 0x0e, 0x9d, 0x9f, 0xc2, 0xe5, 0xec,
|
||||
0xc3, 0x0c, 0x61, 0x9c, 0xf4, 0xcf, 0xb3, 0xfa, 0xf8, 0x9d, 0x01, 0xad, 0xb2, 0x03, 0xfe, 0x87,
|
||||
0x45, 0xd7, 0xd6, 0xaf, 0x6c, 0x00, 0x39, 0xb3, 0x43, 0x69, 0xe4, 0xa3, 0x40, 0x42, 0x6b, 0x87,
|
||||
0x0e, 0x47, 0x34, 0xc4, 0x21, 0x97, 0x19, 0x8b, 0xa1, 0xcd, 0xfc, 0x7e, 0x7a, 0x30, 0xa9, 0xa8,
|
||||
0x6d, 0xd5, 0x7a, 0xb7, 0x54, 0xbf, 0xa0, 0xec, 0x5c, 0x40, 0x2f, 0x65, 0xfb, 0x31, 0x36, 0xc5,
|
||||
0xce, 0x81, 0x17, 0x86, 0x38, 0x40, 0x5b, 0x53, 0x1e, 0xeb, 0xca, 0x94, 0x93, 0x33, 0x6f, 0x96,
|
||||
0x9e, 0xd9, 0xe1, 0x11, 0x09, 0xf7, 0x13, 0x13, 0x3b, 0x17, 0xd0, 0x0b, 0xb0, 0x33, 0x2f, 0x26,
|
||||
0xe8, 0x76, 0x99, 0xa5, 0x26, 0x9f, 0x54, 0x5a, 0xc7, 0xf9, 0xc2, 0xb9, 0x80, 0x06, 0xd0, 0xc8,
|
||||
0x3d, 0xe9, 0xa1, 0x8d, 0xe3, 0xba, 0x9e, 0xec, 0x3b, 0x5a, 0xeb, 0xeb, 0x73, 0x68, 0xa6, 0xb7,
|
||||
0xff, 0xb9, 0x32, 0xd8, 0xc4, 0x9b, 0xd8, 0xbd, 0x29, 0x9b, 0x4c, 0x7b, 0xbd, 0x6b, 0xdd, 0x9f,
|
||||
0x7f, 0x41, 0x7a, 0xb8, 0x3f, 0xfe, 0x48, 0x15, 0x50, 0x77, 0x66, 0xb7, 0x76, 0xea, 0xb4, 0x8d,
|
||||
0x79, 0x7b, 0x40, 0xe7, 0x02, 0xda, 0x03, 0x2b, 0xed, 0xc2, 0xd0, 0xbb, 0x65, 0x0b, 0x8b, 0x4d,
|
||||
0xda, 0x1c, 0xce, 0xc9, 0x75, 0x39, 0xe5, 0xce, 0x29, 0x6b, 0xb2, 0xca, 0x9d, 0x53, 0xda, 0x32,
|
||||
0x39, 0x17, 0x50, 0x2c, 0x63, 0xa7, 0x10, 0xdd, 0xe8, 0xee, 0x2c, 0xff, 0xe6, 0xd2, 0x4c, 0x6b,
|
||||
0x73, 0x5e, 0xf5, 0xf4, 0xd8, 0x5f, 0x8c, 0x9f, 0x93, 0x73, 0x2d, 0x0d, 0xba, 0x7f, 0xdc, 0x56,
|
||||
0x65, 0x1d, 0x56, 0xeb, 0x5b, 0x27, 0x58, 0x91, 0xc1, 0x24, 0xea, 0x1c, 0xd0, 0xd7, 0xaa, 0x58,
|
||||
0x8c, 0x23, 0x4f, 0xe4, 0xc2, 0x92, 0xc3, 0x75, 0x08, 0x4f, 0xaa, 0x4e, 0x3d, 0xfc, 0x98, 0x15,
|
||||
0xe9, 0xe1, 0x5d, 0x80, 0x47, 0x98, 0x3f, 0xc3, 0x3c, 0x12, 0xb6, 0xbe, 0x3d, 0x2d, 0x4f, 0x69,
|
||||
0x85, 0xe4, 0xa8, 0x3b, 0x33, 0xf5, 0xd2, 0x03, 0x7a, 0x60, 0xef, 0x1c, 0xe0, 0xfe, 0xe1, 0x63,
|
||||
0xec, 0x05, 0xfc, 0x00, 0x95, 0xaf, 0xcc, 0x68, 0x4c, 0x81, 0x7c, 0x99, 0x62, 0x72, 0xc6, 0xd6,
|
||||
0x17, 0x8b, 0xfa, 0x8f, 0xe8, 0xe7, 0xd4, 0xc7, 0xff, 0xff, 0x29, 0x78, 0x0f, 0xac, 0xb4, 0x1d,
|
||||
0x2b, 0x8f, 0xf0, 0x62, 0xb7, 0x36, 0x2b, 0xc2, 0x3f, 0x01, 0x2b, 0x2d, 0x6c, 0xcb, 0x77, 0x2c,
|
||||
0xf6, 0x06, 0xad, 0x5b, 0x33, 0xb4, 0xd2, 0xdb, 0x3e, 0x87, 0x5a, 0x52, 0x88, 0xa2, 0x9b, 0xd3,
|
||||
0xd2, 0x51, 0x76, 0xe7, 0x19, 0x77, 0xfd, 0x19, 0xd8, 0x99, 0x2a, 0xad, 0x9c, 0x80, 0x26, 0xab,
|
||||
0xbb, 0xd6, 0x9d, 0x99, 0x7a, 0x5f, 0x8e, 0x80, 0x7c, 0xf0, 0xed, 0x4f, 0xb6, 0xf6, 0x09, 0x3f,
|
||||
0x88, 0x7b, 0xc2, 0xb2, 0xf7, 0x94, 0xe6, 0x5d, 0x42, 0xf5, 0xaf, 0x7b, 0xc9, 0x2d, 0xef, 0xc9,
|
||||
0x9d, 0xee, 0x49, 0x3b, 0x8d, 0x7a, 0xbd, 0x45, 0x39, 0x7c, 0xef, 0x3f, 0x01, 0x00, 0x00, 0xff,
|
||||
0xff, 0x65, 0x43, 0xa0, 0xdd, 0x47, 0x22, 0x00, 0x00,
|
||||
// 2257 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4f, 0x8f, 0x1b, 0x49,
|
||||
0x15, 0x4f, 0xbb, 0x3d, 0x33, 0xee, 0xd7, 0xf6, 0xfc, 0xa9, 0xcc, 0x82, 0xe3, 0x24, 0x64, 0xd2,
|
||||
0xd9, 0x24, 0x03, 0x22, 0x93, 0x30, 0xcb, 0xa2, 0x05, 0x01, 0xd2, 0x64, 0x66, 0x93, 0x38, 0xd9,
|
||||
0x44, 0x43, 0x3b, 0x5a, 0x89, 0x15, 0xc2, 0xb4, 0xdd, 0xe5, 0x99, 0xda, 0x69, 0x77, 0x39, 0x5d,
|
||||
0xd5, 0x49, 0x26, 0x48, 0x08, 0x0e, 0x7b, 0x00, 0xad, 0x84, 0x40, 0x48, 0x7c, 0x01, 0x4e, 0xcb,
|
||||
0x37, 0xe0, 0xc2, 0x85, 0x23, 0x27, 0xee, 0x5c, 0xf8, 0x12, 0x5c, 0x51, 0xfd, 0xe9, 0x76, 0x77,
|
||||
0xbb, 0x3d, 0x76, 0x66, 0x06, 0x21, 0xb1, 0x37, 0xd7, 0xab, 0x57, 0x7f, 0xfa, 0xbd, 0xdf, 0x7b,
|
||||
0xbf, 0xf7, 0xca, 0xb0, 0x46, 0x42, 0x1f, 0xbf, 0xee, 0xf6, 0x29, 0x8d, 0xfc, 0xad, 0x51, 0x44,
|
||||
0x39, 0x45, 0x68, 0x48, 0x82, 0x97, 0x31, 0x53, 0xa3, 0x2d, 0x39, 0xdf, 0xaa, 0xf7, 0xe9, 0x70,
|
||||
0x48, 0x43, 0x25, 0x6b, 0x2d, 0x93, 0x90, 0xe3, 0x28, 0xf4, 0x02, 0x3d, 0xae, 0x67, 0x57, 0x38,
|
||||
0xff, 0xac, 0x82, 0xd5, 0x16, 0xab, 0xda, 0xe1, 0x80, 0x22, 0x07, 0xea, 0x7d, 0x1a, 0x04, 0xb8,
|
||||
0xcf, 0x09, 0x0d, 0xdb, 0x7b, 0x4d, 0x63, 0xc3, 0xd8, 0x34, 0xdd, 0x9c, 0x0c, 0x35, 0x61, 0x69,
|
||||
0x40, 0x70, 0xe0, 0xb7, 0xf7, 0x9a, 0x15, 0x39, 0x9d, 0x0c, 0xd1, 0x55, 0x00, 0x75, 0xc1, 0xd0,
|
||||
0x1b, 0xe2, 0xa6, 0xb9, 0x61, 0x6c, 0x5a, 0xae, 0x25, 0x25, 0xcf, 0xbc, 0x21, 0x16, 0x0b, 0xe5,
|
||||
0xa0, 0xbd, 0xd7, 0xac, 0xaa, 0x85, 0x7a, 0x88, 0xee, 0x83, 0xcd, 0x8f, 0x47, 0xb8, 0x3b, 0xf2,
|
||||
0x22, 0x6f, 0xc8, 0x9a, 0x0b, 0x1b, 0xe6, 0xa6, 0xbd, 0x7d, 0x7d, 0x2b, 0xf7, 0x69, 0xfa, 0x9b,
|
||||
0x9e, 0xe0, 0xe3, 0x8f, 0xbd, 0x20, 0xc6, 0xfb, 0x1e, 0x89, 0x5c, 0x10, 0xab, 0xf6, 0xe5, 0x22,
|
||||
0xb4, 0x07, 0x75, 0x75, 0xb8, 0xde, 0x64, 0x71, 0xde, 0x4d, 0x6c, 0xb9, 0x4c, 0xef, 0x72, 0x5d,
|
||||
0xef, 0x82, 0xfd, 0x6e, 0x44, 0x5f, 0xb1, 0xe6, 0x92, 0xbc, 0xa8, 0xad, 0x65, 0x2e, 0x7d, 0xc5,
|
||||
0xc4, 0x57, 0x72, 0xca, 0xbd, 0x40, 0x29, 0xd4, 0xa4, 0x82, 0x25, 0x25, 0x72, 0xfa, 0x7d, 0x58,
|
||||
0x60, 0xdc, 0xe3, 0xb8, 0x69, 0x6d, 0x18, 0x9b, 0xcb, 0xdb, 0xd7, 0x4a, 0x2f, 0x20, 0x2d, 0xde,
|
||||
0x11, 0x6a, 0xae, 0xd2, 0x46, 0xef, 0xc3, 0x57, 0xd5, 0xf5, 0xe5, 0xb0, 0x3b, 0xf0, 0x48, 0xd0,
|
||||
0x8d, 0xb0, 0xc7, 0x68, 0xd8, 0x04, 0x69, 0xc8, 0x75, 0x92, 0xae, 0x79, 0xe0, 0x91, 0xc0, 0x95,
|
||||
0x73, 0xc8, 0x81, 0x06, 0x61, 0x5d, 0x2f, 0xe6, 0xb4, 0x2b, 0xe7, 0x9b, 0xf6, 0x86, 0xb1, 0x59,
|
||||
0x73, 0x6d, 0xc2, 0x76, 0x62, 0x4e, 0xe5, 0x31, 0xe8, 0x29, 0xac, 0xc5, 0x0c, 0x47, 0xdd, 0x9c,
|
||||
0x79, 0xea, 0xf3, 0x9a, 0x67, 0x45, 0xac, 0x6d, 0x67, 0x4c, 0xf4, 0x4d, 0x40, 0x23, 0x1c, 0xfa,
|
||||
0x24, 0x3c, 0xd0, 0x3b, 0x4a, 0x3b, 0x34, 0xa4, 0x1d, 0x56, 0xf5, 0x8c, 0xd4, 0x17, 0xe6, 0x70,
|
||||
0x3e, 0x33, 0x00, 0x1e, 0x48, 0x7c, 0xc8, 0xbb, 0x7c, 0x3f, 0x81, 0x08, 0x09, 0x07, 0x54, 0xc2,
|
||||
0xcb, 0xde, 0xbe, 0xba, 0x35, 0x89, 0xe1, 0xad, 0x14, 0x93, 0x1a, 0x41, 0x12, 0x9e, 0x4d, 0x58,
|
||||
0xf2, 0x71, 0x80, 0x39, 0xf6, 0x25, 0xf4, 0x6a, 0x6e, 0x32, 0x44, 0xd7, 0xc0, 0xee, 0x47, 0x58,
|
||||
0x58, 0x8e, 0x13, 0x8d, 0xbd, 0xaa, 0x0b, 0x4a, 0xf4, 0x9c, 0x0c, 0xb1, 0xf3, 0x59, 0x15, 0xea,
|
||||
0x1d, 0x7c, 0x30, 0xc4, 0x21, 0x57, 0x37, 0x99, 0x07, 0xea, 0x1b, 0x60, 0x8f, 0xbc, 0x88, 0x13,
|
||||
0xad, 0xa2, 0xe0, 0x9e, 0x15, 0xa1, 0x2b, 0x60, 0x31, 0xbd, 0xeb, 0x9e, 0x3c, 0xd5, 0x74, 0xc7,
|
||||
0x02, 0x74, 0x09, 0x6a, 0x61, 0x3c, 0x54, 0x06, 0xd2, 0x90, 0x0f, 0xe3, 0xa1, 0x84, 0x49, 0x26,
|
||||
0x18, 0x16, 0xf2, 0xc1, 0xd0, 0x84, 0xa5, 0x5e, 0x4c, 0x64, 0x7c, 0x2d, 0xaa, 0x19, 0x3d, 0x44,
|
||||
0x5f, 0x81, 0xc5, 0x90, 0xfa, 0xb8, 0xbd, 0xa7, 0x61, 0xa9, 0x47, 0xe8, 0x06, 0x34, 0x94, 0x51,
|
||||
0x5f, 0xe2, 0x88, 0x11, 0x1a, 0x6a, 0x50, 0x2a, 0x24, 0x7f, 0xac, 0x64, 0xa7, 0xc5, 0xe5, 0x35,
|
||||
0xb0, 0x27, 0xb1, 0x08, 0x83, 0x31, 0x02, 0x6f, 0xc1, 0x8a, 0x3a, 0x7c, 0x40, 0x02, 0xdc, 0x3d,
|
||||
0xc2, 0xc7, 0xac, 0x69, 0x6f, 0x98, 0x9b, 0x96, 0xab, 0xee, 0xf4, 0x80, 0x04, 0xf8, 0x09, 0x3e,
|
||||
0x66, 0x59, 0xdf, 0xd5, 0x4f, 0xf4, 0x5d, 0xa3, 0xe8, 0x3b, 0x74, 0x13, 0x96, 0x19, 0x8e, 0x88,
|
||||
0x17, 0x90, 0x37, 0xb8, 0xcb, 0xc8, 0x1b, 0xdc, 0x5c, 0x96, 0x3a, 0x8d, 0x54, 0xda, 0x21, 0x6f,
|
||||
0xb0, 0x30, 0xc3, 0xab, 0x88, 0x70, 0xdc, 0x3d, 0xf4, 0x42, 0x9f, 0x0e, 0x06, 0xcd, 0x15, 0x79,
|
||||
0x4e, 0x5d, 0x0a, 0x1f, 0x29, 0x99, 0xf3, 0x47, 0x03, 0x2e, 0xba, 0xf8, 0x80, 0x30, 0x8e, 0xa3,
|
||||
0x67, 0xd4, 0xc7, 0x2e, 0x7e, 0x11, 0x63, 0xc6, 0xd1, 0x3d, 0xa8, 0xf6, 0x3c, 0x86, 0x35, 0x24,
|
||||
0xaf, 0x94, 0x5a, 0xe7, 0x29, 0x3b, 0xb8, 0xef, 0x31, 0xec, 0x4a, 0x4d, 0xf4, 0x1d, 0x58, 0xf2,
|
||||
0x7c, 0x3f, 0xc2, 0x8c, 0x49, 0x60, 0x4c, 0x5b, 0xb4, 0xa3, 0x74, 0xdc, 0x44, 0x39, 0xe3, 0x45,
|
||||
0x33, 0xeb, 0x45, 0xe7, 0xb7, 0x06, 0xac, 0xe7, 0x6f, 0xc6, 0x46, 0x34, 0x64, 0x18, 0xbd, 0x07,
|
||||
0x8b, 0xc2, 0x17, 0x31, 0xd3, 0x97, 0xbb, 0x5c, 0x7a, 0x4e, 0x47, 0xaa, 0xb8, 0x5a, 0x55, 0xa4,
|
||||
0x54, 0x12, 0x12, 0x9e, 0x84, 0xbb, 0xba, 0xe1, 0xf5, 0x62, 0xa4, 0x69, 0x62, 0x68, 0x87, 0x84,
|
||||
0xab, 0xe8, 0x76, 0x81, 0xa4, 0xbf, 0x9d, 0x1f, 0xc3, 0xfa, 0x43, 0xcc, 0x33, 0x98, 0xd0, 0xb6,
|
||||
0x9a, 0x27, 0x74, 0xf2, 0x5c, 0x50, 0x29, 0x70, 0x81, 0xf3, 0x27, 0x03, 0xde, 0x29, 0xec, 0x7d,
|
||||
0x96, 0xaf, 0x4d, 0xc1, 0x5d, 0x39, 0x0b, 0xb8, 0xcd, 0x22, 0xb8, 0x9d, 0x5f, 0x1a, 0x70, 0xf9,
|
||||
0x21, 0xe6, 0xd9, 0xc4, 0x71, 0xce, 0x96, 0x40, 0x5f, 0x03, 0x48, 0x13, 0x06, 0x6b, 0x9a, 0x1b,
|
||||
0xe6, 0xa6, 0xe9, 0x66, 0x24, 0xce, 0xaf, 0x0d, 0x58, 0x9b, 0x38, 0x3f, 0x9f, 0x77, 0x8c, 0x62,
|
||||
0xde, 0xf9, 0x6f, 0x99, 0xe3, 0xf7, 0x06, 0x5c, 0x29, 0x37, 0xc7, 0x59, 0x9c, 0xf7, 0x03, 0xb5,
|
||||
0x08, 0x0b, 0x94, 0x0a, 0x52, 0xba, 0x59, 0xc6, 0x07, 0x93, 0x67, 0xea, 0x45, 0xce, 0xe7, 0x26,
|
||||
0xa0, 0x5d, 0x99, 0x2c, 0x14, 0xeb, 0xbc, 0x85, 0x6b, 0x4e, 0x5d, 0xca, 0x14, 0x0a, 0x96, 0xea,
|
||||
0x79, 0x14, 0x2c, 0x0b, 0xa7, 0x2a, 0x58, 0xae, 0x80, 0x25, 0xb2, 0x26, 0xe3, 0xde, 0x70, 0x24,
|
||||
0xf9, 0xa2, 0xea, 0x8e, 0x05, 0x93, 0xe5, 0xc1, 0xd2, 0x9c, 0xe5, 0x41, 0xed, 0xb4, 0xe5, 0x81,
|
||||
0xf3, 0x1a, 0x2e, 0x26, 0x81, 0x2d, 0xe9, 0xfb, 0x2d, 0xdc, 0x91, 0x0f, 0x85, 0x4a, 0x31, 0x14,
|
||||
0x66, 0x38, 0xc5, 0xf9, 0x77, 0x05, 0xd6, 0xda, 0x09, 0xe7, 0xec, 0x7b, 0xfc, 0x50, 0xd6, 0x0c,
|
||||
0x27, 0x47, 0xca, 0x74, 0x04, 0x64, 0x08, 0xda, 0x9c, 0x4a, 0xd0, 0xd5, 0x3c, 0x41, 0xe7, 0x2f,
|
||||
0xb8, 0x50, 0x44, 0xcd, 0xf9, 0x94, 0xa8, 0x9b, 0xb0, 0x9a, 0x21, 0xdc, 0x91, 0xc7, 0x0f, 0x45,
|
||||
0x99, 0x2a, 0x18, 0x77, 0x99, 0x64, 0xbf, 0x9e, 0xa1, 0xdb, 0xb0, 0x92, 0x32, 0xa4, 0xaf, 0x88,
|
||||
0xb3, 0x26, 0x11, 0x32, 0xa6, 0x53, 0x3f, 0x61, 0xce, 0x7c, 0x01, 0x61, 0x95, 0x14, 0x10, 0xd9,
|
||||
0x62, 0x06, 0x72, 0xc5, 0x8c, 0xf3, 0x17, 0x03, 0xec, 0x34, 0x40, 0xe7, 0x6c, 0x23, 0x72, 0x7e,
|
||||
0xa9, 0x14, 0xfd, 0x72, 0x1d, 0xea, 0x38, 0xf4, 0x7a, 0x01, 0xd6, 0xb8, 0x35, 0x15, 0x6e, 0x95,
|
||||
0x4c, 0xe1, 0xf6, 0x01, 0xd8, 0xe3, 0x52, 0x32, 0x89, 0xc1, 0x9b, 0x53, 0x6b, 0xc9, 0x2c, 0x28,
|
||||
0x5c, 0x48, 0x6b, 0x4a, 0xe6, 0xfc, 0xa6, 0x32, 0xa6, 0x39, 0x85, 0xd8, 0xb3, 0x24, 0xb3, 0x9f,
|
||||
0x40, 0x5d, 0x7f, 0x85, 0x2a, 0x71, 0x55, 0x4a, 0xfb, 0x6e, 0xd9, 0xb5, 0xca, 0x0e, 0xdd, 0xca,
|
||||
0x98, 0xf1, 0xc3, 0x90, 0x47, 0xc7, 0xae, 0xcd, 0xc6, 0x92, 0x56, 0x17, 0x56, 0x8b, 0x0a, 0x68,
|
||||
0x15, 0xcc, 0x23, 0x7c, 0xac, 0x6d, 0x2c, 0x7e, 0x8a, 0xf4, 0xff, 0x52, 0x60, 0x47, 0xb3, 0xfe,
|
||||
0xb5, 0x13, 0xf3, 0xe9, 0x80, 0xba, 0x4a, 0xfb, 0x7b, 0x95, 0x0f, 0x0c, 0xe7, 0x0f, 0x06, 0xac,
|
||||
0xee, 0x45, 0x74, 0xf4, 0xd6, 0xa9, 0xd4, 0x81, 0x7a, 0xa6, 0x2e, 0x4e, 0xa2, 0x37, 0x27, 0x9b,
|
||||
0x95, 0x54, 0x2f, 0x41, 0xcd, 0x8f, 0xe8, 0xa8, 0xeb, 0x05, 0x81, 0x0c, 0x2c, 0x51, 0x22, 0x46,
|
||||
0x74, 0xb4, 0x13, 0x04, 0xce, 0x2b, 0x58, 0xdf, 0xc3, 0xac, 0x1f, 0x91, 0xde, 0xdb, 0x27, 0xf9,
|
||||
0x19, 0xfc, 0x9b, 0x4b, 0xa0, 0x66, 0x21, 0x81, 0x3a, 0x9f, 0x1b, 0xf0, 0x4e, 0xe1, 0xe4, 0xb3,
|
||||
0xa0, 0xe3, 0x87, 0x79, 0xcc, 0x2a, 0x70, 0xcc, 0xe8, 0x7f, 0xb2, 0x58, 0xf5, 0x24, 0xff, 0xca,
|
||||
0xb9, 0xfb, 0x22, 0xe7, 0xec, 0x47, 0xf4, 0x40, 0x56, 0x97, 0xe7, 0x57, 0x99, 0xfd, 0xcd, 0x80,
|
||||
0xab, 0x53, 0xce, 0x38, 0xcb, 0x97, 0x17, 0x1b, 0xeb, 0xca, 0xac, 0xc6, 0xda, 0x2c, 0x36, 0xd6,
|
||||
0xe5, 0x7d, 0x67, 0x75, 0x4a, 0xdf, 0xf9, 0xe7, 0x0a, 0x34, 0x3a, 0x9c, 0x46, 0xde, 0x01, 0xde,
|
||||
0xa5, 0xe1, 0x80, 0x1c, 0x88, 0xb4, 0x9d, 0xd4, 0xeb, 0x86, 0xfc, 0xe8, 0xb4, 0x22, 0xbf, 0x0e,
|
||||
0x75, 0xaf, 0xdf, 0xc7, 0x8c, 0x89, 0xf6, 0x45, 0x67, 0x23, 0xcb, 0xb5, 0x95, 0xec, 0x89, 0x10,
|
||||
0xa1, 0x6f, 0xc0, 0x1a, 0xc3, 0xfd, 0x08, 0xf3, 0xee, 0x58, 0x53, 0x23, 0x78, 0x45, 0x4d, 0xec,
|
||||
0x24, 0xda, 0xa2, 0xc0, 0x8f, 0x19, 0xee, 0x74, 0x3e, 0xd2, 0x28, 0xd6, 0x23, 0x51, 0x5e, 0xf5,
|
||||
0xe2, 0xfe, 0x11, 0xe6, 0x59, 0x7a, 0x00, 0x25, 0x92, 0x50, 0xbc, 0x0c, 0x56, 0x44, 0x29, 0x97,
|
||||
0x39, 0x5d, 0x72, 0xb9, 0xe5, 0xd6, 0x84, 0x40, 0xa4, 0x2d, 0xbd, 0x6b, 0x7b, 0xe7, 0xa9, 0xe6,
|
||||
0x70, 0x3d, 0x12, 0x3d, 0x6a, 0x7b, 0xe7, 0xe9, 0x87, 0xa1, 0x3f, 0xa2, 0x24, 0xe4, 0x32, 0xc1,
|
||||
0x5b, 0x6e, 0x56, 0x24, 0x3e, 0x8f, 0x29, 0x4b, 0x74, 0x45, 0xf9, 0x21, 0x93, 0xbb, 0xe5, 0xda,
|
||||
0x5a, 0xf6, 0xfc, 0x78, 0x84, 0x9d, 0x7f, 0x99, 0xb0, 0xaa, 0x6a, 0xa8, 0xc7, 0xb4, 0x97, 0x80,
|
||||
0xe9, 0x0a, 0x58, 0xfd, 0x20, 0x16, 0xed, 0x88, 0x46, 0x92, 0xe5, 0x8e, 0x05, 0xc2, 0x22, 0x59,
|
||||
0x1a, 0x8a, 0xf0, 0x80, 0xbc, 0xd6, 0x96, 0x5b, 0x19, 0xf3, 0x90, 0x14, 0x67, 0x19, 0xd3, 0x9c,
|
||||
0x60, 0x4c, 0xdf, 0xe3, 0x9e, 0xa6, 0xb1, 0xaa, 0xa4, 0x31, 0x4b, 0x48, 0x14, 0x83, 0x4d, 0x10,
|
||||
0xd3, 0x42, 0x09, 0x31, 0x65, 0x98, 0x7a, 0x31, 0xcf, 0xd4, 0x79, 0xa8, 0x2f, 0x15, 0x43, 0xff,
|
||||
0x11, 0x2c, 0x27, 0x86, 0xe9, 0x4b, 0x8c, 0x48, 0xeb, 0x95, 0xb4, 0x49, 0x32, 0x61, 0x66, 0xc1,
|
||||
0xe4, 0x36, 0x58, 0x0e, 0x5b, 0x45, 0x66, 0xb7, 0x4e, 0xc5, 0xec, 0x85, 0xaa, 0x12, 0x4e, 0x53,
|
||||
0x55, 0x66, 0x59, 0xda, 0xce, 0xb3, 0xf4, 0x47, 0xb0, 0xfa, 0xa3, 0x18, 0x47, 0xc7, 0x8f, 0x69,
|
||||
0x8f, 0xcd, 0xe7, 0xe3, 0x16, 0xd4, 0xb4, 0xa3, 0x92, 0x84, 0x9e, 0x8e, 0x9d, 0x7f, 0x18, 0xd0,
|
||||
0x90, 0xe1, 0xf6, 0xdc, 0x63, 0x47, 0xc9, 0xeb, 0x4c, 0xe2, 0x65, 0x23, 0xef, 0xe5, 0x53, 0xf6,
|
||||
0x23, 0x25, 0x4f, 0x0b, 0x66, 0xd9, 0xd3, 0x42, 0x49, 0x9d, 0x53, 0x2d, 0xad, 0x73, 0x0a, 0x0d,
|
||||
0xce, 0xc2, 0x44, 0x83, 0xf3, 0x85, 0x01, 0x6b, 0x19, 0x1b, 0x9d, 0x25, 0xe1, 0xe5, 0x2c, 0x5b,
|
||||
0x29, 0x5a, 0xf6, 0x7e, 0x9e, 0x08, 0xcc, 0x32, 0x57, 0x67, 0x88, 0x20, 0xb1, 0x71, 0x8e, 0x0c,
|
||||
0x9e, 0xc0, 0x8a, 0xa0, 0xea, 0xf3, 0x71, 0xe7, 0xdf, 0x0d, 0x58, 0x7a, 0x4c, 0x7b, 0xd2, 0x91,
|
||||
0x59, 0x0c, 0x19, 0xf9, 0x67, 0xab, 0x55, 0x30, 0x7d, 0x32, 0xd4, 0xd9, 0x5b, 0xfc, 0x14, 0x31,
|
||||
0xc6, 0xb8, 0x17, 0xf1, 0xf1, 0xc3, 0x9b, 0x28, 0xe4, 0x84, 0x44, 0xbe, 0xdd, 0x5c, 0x82, 0x1a,
|
||||
0x0e, 0x7d, 0x35, 0xa9, 0xab, 0x65, 0x1c, 0xfa, 0x72, 0xea, 0x7c, 0x1a, 0xa0, 0x75, 0x58, 0x18,
|
||||
0xd1, 0xf1, 0x63, 0x99, 0x1a, 0x38, 0xeb, 0x80, 0x1e, 0x62, 0xfe, 0x98, 0xf6, 0x84, 0x57, 0x12,
|
||||
0xf3, 0x38, 0x7f, 0xad, 0xc8, 0xe6, 0x64, 0x2c, 0x3e, 0x8b, 0x83, 0x1d, 0x68, 0x28, 0xba, 0xfa,
|
||||
0x94, 0xf6, 0xba, 0x61, 0x9c, 0x18, 0xc5, 0x96, 0xc2, 0xc7, 0xb4, 0xf7, 0x2c, 0x1e, 0xa2, 0x3b,
|
||||
0x70, 0x91, 0x84, 0xdd, 0x91, 0x66, 0xd0, 0x54, 0x53, 0x59, 0x69, 0x95, 0x84, 0x09, 0xb7, 0x6a,
|
||||
0xf5, 0x5b, 0xb0, 0x82, 0xc3, 0x17, 0x31, 0x8e, 0x71, 0xaa, 0xaa, 0x6c, 0xd6, 0xd0, 0x62, 0xad,
|
||||
0x27, 0x98, 0xd2, 0x63, 0x47, 0x5d, 0x16, 0x50, 0xce, 0x74, 0x4e, 0xb4, 0x84, 0xa4, 0x23, 0x04,
|
||||
0xe8, 0x03, 0xb0, 0xc4, 0x72, 0x05, 0x2d, 0xd5, 0x64, 0x5c, 0x2e, 0x83, 0x96, 0xf6, 0xb7, 0x5b,
|
||||
0xfb, 0x54, 0xfd, 0x60, 0x22, 0x40, 0x74, 0xd9, 0xed, 0x13, 0x76, 0xa4, 0x99, 0x06, 0x94, 0x68,
|
||||
0x8f, 0xb0, 0x23, 0xe7, 0xa7, 0x70, 0x29, 0xfb, 0x6c, 0x43, 0x18, 0x27, 0xfd, 0xf3, 0xac, 0x3e,
|
||||
0x7e, 0x67, 0x40, 0xab, 0xec, 0x80, 0xff, 0x61, 0xd1, 0xb5, 0xfd, 0x2b, 0x1b, 0x40, 0xce, 0xec,
|
||||
0x52, 0x1a, 0xf9, 0x28, 0x90, 0xd0, 0xda, 0xa5, 0xc3, 0x11, 0x0d, 0x71, 0xc8, 0x65, 0xc6, 0x62,
|
||||
0x68, 0x2b, 0xbf, 0x9f, 0x1e, 0x4c, 0x2a, 0x6a, 0x5b, 0xb5, 0xde, 0x2d, 0xd5, 0x2f, 0x28, 0x3b,
|
||||
0x17, 0xd0, 0x0b, 0xd9, 0x9c, 0x8c, 0x4d, 0xb1, 0x7b, 0xe8, 0x85, 0x21, 0x0e, 0xd0, 0xf6, 0x94,
|
||||
0xa7, 0xbc, 0x32, 0xe5, 0xe4, 0xcc, 0x1b, 0xa5, 0x67, 0x76, 0x78, 0x44, 0xc2, 0x83, 0xc4, 0xc4,
|
||||
0xce, 0x05, 0xf4, 0x1c, 0xec, 0xcc, 0x7b, 0x0a, 0xba, 0x55, 0x66, 0xa9, 0xc9, 0x07, 0x97, 0xd6,
|
||||
0x49, 0xbe, 0x70, 0x2e, 0xa0, 0x01, 0x34, 0x72, 0x0f, 0x7e, 0x68, 0xf3, 0xa4, 0x9e, 0x28, 0xfb,
|
||||
0xca, 0xd6, 0xfa, 0xfa, 0x1c, 0x9a, 0xe9, 0xed, 0x7f, 0xae, 0x0c, 0x36, 0xf1, 0x62, 0x76, 0x77,
|
||||
0xca, 0x26, 0xd3, 0xde, 0xf6, 0x5a, 0xf7, 0xe6, 0x5f, 0x90, 0x1e, 0xee, 0x8f, 0x3f, 0x52, 0x05,
|
||||
0xd4, 0xed, 0xd9, 0x8d, 0x9f, 0x3a, 0x6d, 0x73, 0xde, 0x0e, 0xd1, 0xb9, 0x80, 0xf6, 0xc1, 0x4a,
|
||||
0x7b, 0x34, 0xf4, 0x6e, 0xd9, 0xc2, 0x62, 0x0b, 0x37, 0x87, 0x73, 0x72, 0x5d, 0x4e, 0xb9, 0x73,
|
||||
0xca, 0x5a, 0xb0, 0x72, 0xe7, 0x94, 0xb6, 0x4c, 0xce, 0x05, 0x14, 0xcb, 0xd8, 0x29, 0x44, 0x37,
|
||||
0xba, 0x33, 0xcb, 0xbf, 0xb9, 0x34, 0xd3, 0xda, 0x9a, 0x57, 0x3d, 0x3d, 0xf6, 0x17, 0xe3, 0xc7,
|
||||
0xe6, 0x5c, 0x4b, 0x83, 0xee, 0x9d, 0xb4, 0x55, 0x59, 0x87, 0xd5, 0xfa, 0xd6, 0x5b, 0xac, 0xc8,
|
||||
0x60, 0x12, 0x75, 0x0e, 0xe9, 0x2b, 0x55, 0x2c, 0xc6, 0x91, 0x27, 0x72, 0x61, 0xc9, 0xe1, 0x3a,
|
||||
0x84, 0x27, 0x55, 0xa7, 0x1e, 0x7e, 0xc2, 0x8a, 0xf4, 0xf0, 0x2e, 0xc0, 0x43, 0xcc, 0x9f, 0x62,
|
||||
0x1e, 0x09, 0x5b, 0xdf, 0x9a, 0x96, 0xa7, 0xb4, 0x42, 0x72, 0xd4, 0xed, 0x99, 0x7a, 0xe9, 0x01,
|
||||
0x3d, 0xb0, 0x77, 0x0f, 0x71, 0xff, 0xe8, 0x11, 0xf6, 0x02, 0x7e, 0x88, 0xca, 0x57, 0x66, 0x34,
|
||||
0xa6, 0x40, 0xbe, 0x4c, 0x31, 0x39, 0x63, 0xfb, 0x8b, 0x45, 0xfd, 0x37, 0xf5, 0x33, 0xea, 0xe3,
|
||||
0xff, 0xff, 0x14, 0xbc, 0x0f, 0x56, 0xda, 0x8e, 0x95, 0x47, 0x78, 0xb1, 0x5b, 0x9b, 0x15, 0xe1,
|
||||
0x9f, 0x80, 0x95, 0x16, 0xb6, 0xe5, 0x3b, 0x16, 0x7b, 0x83, 0xd6, 0xcd, 0x19, 0x5a, 0xe9, 0x6d,
|
||||
0x9f, 0x41, 0x2d, 0x29, 0x44, 0xd1, 0x8d, 0x69, 0xe9, 0x28, 0xbb, 0xf3, 0x8c, 0xbb, 0xfe, 0x0c,
|
||||
0xec, 0x4c, 0x95, 0x56, 0x4e, 0x40, 0x93, 0xd5, 0x5d, 0xeb, 0xf6, 0x4c, 0xbd, 0x2f, 0x47, 0x40,
|
||||
0xde, 0xff, 0xf6, 0x27, 0xdb, 0x07, 0x84, 0x1f, 0xc6, 0x3d, 0x61, 0xd9, 0xbb, 0x4a, 0xf3, 0x0e,
|
||||
0xa1, 0xfa, 0xd7, 0xdd, 0xe4, 0x96, 0x77, 0xe5, 0x4e, 0x77, 0xa5, 0x9d, 0x46, 0xbd, 0xde, 0xa2,
|
||||
0x1c, 0xbe, 0xf7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x46, 0x93, 0xfc, 0x65, 0x22, 0x00,
|
||||
0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
|
@ -5201,3 +5201,28 @@ func (node *Proxy) ListClientInfos(ctx context.Context, req *proxypb.ListClientI
|
|||
ClientInfos: clients,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (node *Proxy) AllocTimestamp(ctx context.Context, req *milvuspb.AllocTimestampRequest) (*milvuspb.AllocTimestampResponse, error) {
|
||||
if !node.checkHealthy() {
|
||||
return &milvuspb.AllocTimestampResponse{Status: unhealthyStatus()}, nil
|
||||
}
|
||||
|
||||
log.Info("AllocTimestamp request receive")
|
||||
ts, err := node.tsoAllocator.AllocOne(ctx)
|
||||
if err != nil {
|
||||
log.Info("AllocTimestamp failed", zap.Error(err))
|
||||
return &milvuspb.AllocTimestampResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: err.Error(),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
log.Info("AllocTimestamp request success", zap.Uint64("timestamp", ts))
|
||||
|
||||
return &milvuspb.AllocTimestampResponse{
|
||||
Status: &commonpb.Status{ErrorCode: commonpb.ErrorCode_Success},
|
||||
Timestamp: ts,
|
||||
}, nil
|
||||
}
|
||||
|
|
|
@ -815,3 +815,52 @@ func TestProxyListDatabase(t *testing.T) {
|
|||
assert.Equal(t, commonpb.ErrorCode_Success, resp.GetStatus().GetErrorCode())
|
||||
})
|
||||
}
|
||||
|
||||
func TestProxy_AllocTimestamp(t *testing.T) {
|
||||
t.Run("proxy unhealthy", func(t *testing.T) {
|
||||
node := &Proxy{}
|
||||
node.UpdateStateCode(commonpb.StateCode_Abnormal)
|
||||
|
||||
resp, err := node.AllocTimestamp(context.TODO(), nil)
|
||||
assert.NoError(t, err)
|
||||
assert.NotEqual(t, commonpb.ErrorCode_Success, resp.GetStatus().GetErrorCode())
|
||||
})
|
||||
|
||||
t.Run("success", func(t *testing.T) {
|
||||
node := &Proxy{}
|
||||
node.UpdateStateCode(commonpb.StateCode_Healthy)
|
||||
|
||||
node.tsoAllocator = ×tampAllocator{
|
||||
tso: newMockTimestampAllocatorInterface(),
|
||||
}
|
||||
|
||||
resp, err := node.AllocTimestamp(context.TODO(), nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, resp.GetStatus().GetErrorCode())
|
||||
})
|
||||
|
||||
t.Run("failed", func(t *testing.T) {
|
||||
m := newMockTimestampAllocator(t)
|
||||
m.On("AllocTimestamp",
|
||||
mock.Anything,
|
||||
mock.Anything,
|
||||
).Return(&rootcoordpb.AllocTimestampResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: "failed",
|
||||
},
|
||||
Timestamp: 20230518,
|
||||
Count: 1,
|
||||
}, nil)
|
||||
|
||||
alloc, _ := newTimestampAllocator(m, 199)
|
||||
node := Proxy{
|
||||
tsoAllocator: alloc,
|
||||
}
|
||||
node.UpdateStateCode(commonpb.StateCode_Healthy)
|
||||
|
||||
resp, err := node.AllocTimestamp(context.TODO(), nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.GetStatus().GetErrorCode())
|
||||
})
|
||||
}
|
||||
|
|
|
@ -487,7 +487,7 @@ func (dit *describeIndexTask) Execute(ctx context.Context) error {
|
|||
return fmt.Errorf("failed to parse collection schema: %s", err)
|
||||
}
|
||||
|
||||
resp, err := dit.datacoord.DescribeIndex(ctx, &indexpb.DescribeIndexRequest{CollectionID: dit.collectionID, IndexName: dit.IndexName})
|
||||
resp, err := dit.datacoord.DescribeIndex(ctx, &indexpb.DescribeIndexRequest{CollectionID: dit.collectionID, IndexName: dit.IndexName, Timestamp: dit.Timestamp})
|
||||
if err != nil || resp == nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -1418,6 +1418,8 @@ type ProxyComponent interface {
|
|||
DescribeResourceGroup(ctx context.Context, req *milvuspb.DescribeResourceGroupRequest) (*milvuspb.DescribeResourceGroupResponse, error)
|
||||
|
||||
Connect(ctx context.Context, req *milvuspb.ConnectRequest) (*milvuspb.ConnectResponse, error)
|
||||
|
||||
AllocTimestamp(ctx context.Context, req *milvuspb.AllocTimestampRequest) (*milvuspb.AllocTimestampResponse, error)
|
||||
}
|
||||
|
||||
// QueryNode is the interface `querynode` package implements
|
||||
|
|
Loading…
Reference in New Issue