mirror of https://github.com/milvus-io/milvus.git
Implement ReportImport related logic. (#16312)
/kind feature issue: #15604 Signed-off-by: Yuchen Gao <yuchen.gao@zilliz.com>pull/16315/head
parent
baa745b83e
commit
0d54697d42
|
@ -265,7 +265,7 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
|
|||
"ceID\030\004 \001(\003\"7\n\tMsgHeader\022*\n\004base\030\001 \001(\0132\034."
|
||||
"milvus.proto.common.MsgBase\"M\n\014DMLMsgHea"
|
||||
"der\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common."
|
||||
"MsgBase\022\021\n\tshardName\030\002 \001(\t*\272\004\n\tErrorCode"
|
||||
"MsgBase\022\021\n\tshardName\030\002 \001(\t*\363\004\n\tErrorCode"
|
||||
"\022\013\n\007Success\020\000\022\023\n\017UnexpectedError\020\001\022\021\n\rCo"
|
||||
"nnectFailed\020\002\022\024\n\020PermissionDenied\020\003\022\027\n\023C"
|
||||
"ollectionNotExists\020\004\022\023\n\017IllegalArgument\020"
|
||||
|
@ -279,54 +279,56 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(
|
|||
"\n\020CannotDeleteFile\020\024\022\023\n\017BuildIndexError\020"
|
||||
"\025\022\020\n\014IllegalNLIST\020\026\022\025\n\021IllegalMetricType"
|
||||
"\020\027\022\017\n\013OutOfMemory\020\030\022\021\n\rIndexNotExist\020\031\022\023"
|
||||
"\n\017EmptyCollection\020\032\022\022\n\rDDRequestRace\020\350\007*"
|
||||
"X\n\nIndexState\022\022\n\016IndexStateNone\020\000\022\014\n\010Uni"
|
||||
"ssued\020\001\022\016\n\nInProgress\020\002\022\014\n\010Finished\020\003\022\n\n"
|
||||
"\006Failed\020\004*s\n\014SegmentState\022\024\n\020SegmentStat"
|
||||
"eNone\020\000\022\014\n\010NotExist\020\001\022\013\n\007Growing\020\002\022\n\n\006Se"
|
||||
"aled\020\003\022\013\n\007Flushed\020\004\022\014\n\010Flushing\020\005\022\013\n\007Dro"
|
||||
"pped\020\006*\300\t\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n\020Cre"
|
||||
"ateCollection\020d\022\022\n\016DropCollection\020e\022\021\n\rH"
|
||||
"asCollection\020f\022\026\n\022DescribeCollection\020g\022\023"
|
||||
"\n\017ShowCollections\020h\022\024\n\020GetSystemConfigs\020"
|
||||
"i\022\022\n\016LoadCollection\020j\022\025\n\021ReleaseCollecti"
|
||||
"on\020k\022\017\n\013CreateAlias\020l\022\r\n\tDropAlias\020m\022\016\n\n"
|
||||
"AlterAlias\020n\022\024\n\017CreatePartition\020\310\001\022\022\n\rDr"
|
||||
"opPartition\020\311\001\022\021\n\014HasPartition\020\312\001\022\026\n\021Des"
|
||||
"cribePartition\020\313\001\022\023\n\016ShowPartitions\020\314\001\022\023"
|
||||
"\n\016LoadPartitions\020\315\001\022\026\n\021ReleasePartitions"
|
||||
"\020\316\001\022\021\n\014ShowSegments\020\372\001\022\024\n\017DescribeSegmen"
|
||||
"t\020\373\001\022\021\n\014LoadSegments\020\374\001\022\024\n\017ReleaseSegmen"
|
||||
"ts\020\375\001\022\024\n\017HandoffSegments\020\376\001\022\030\n\023LoadBalan"
|
||||
"ceSegments\020\377\001\022\025\n\020DescribeSegments\020\200\002\022\020\n\013"
|
||||
"CreateIndex\020\254\002\022\022\n\rDescribeIndex\020\255\002\022\016\n\tDr"
|
||||
"opIndex\020\256\002\022\013\n\006Insert\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005"
|
||||
"Flush\020\222\003\022\013\n\006Search\020\364\003\022\021\n\014SearchResult\020\365\003"
|
||||
"\022\022\n\rGetIndexState\020\366\003\022\032\n\025GetIndexBuildPro"
|
||||
"gress\020\367\003\022\034\n\027GetCollectionStatistics\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\017WatchDmChanne"
|
||||
"ls\020\374\003\022\025\n\020RemoveDmChannels\020\375\003\022\027\n\022WatchQue"
|
||||
"ryChannels\020\376\003\022\030\n\023RemoveQueryChannels\020\377\003\022"
|
||||
"\035\n\030SealedSegmentsChangeInfo\020\200\004\022\027\n\022WatchD"
|
||||
"eltaChannels\020\201\004\022\020\n\013SegmentInfo\020\330\004\022\017\n\nSys"
|
||||
"temInfo\020\331\004\022\024\n\017GetRecoveryInfo\020\332\004\022\024\n\017GetS"
|
||||
"egmentState\020\333\004\022\r\n\010TimeTick\020\260\t\022\023\n\016QueryNo"
|
||||
"deStats\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\020SegmentFlus"
|
||||
"hDone\020\267\t\022\017\n\nDataNodeTt\020\270\t*\"\n\007DslType\022\007\n\003"
|
||||
"Dsl\020\000\022\016\n\nBoolExprV1\020\001*B\n\017CompactionState"
|
||||
"\022\021\n\rUndefiedState\020\000\022\r\n\tExecuting\020\001\022\r\n\tCo"
|
||||
"mpleted\020\002*X\n\020ConsistencyLevel\022\n\n\006Strong\020"
|
||||
"\000\022\013\n\007Session\020\001\022\013\n\007Bounded\020\002\022\016\n\nEventuall"
|
||||
"y\020\003\022\016\n\nCustomized\020\004*\227\001\n\013ImportState\022\021\n\rI"
|
||||
"mportPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImpo"
|
||||
"rtStarted\020\002\022\024\n\020ImportDownloaded\020\003\022\020\n\014Imp"
|
||||
"ortParsed\020\004\022\023\n\017ImportPersisted\020\005\022\023\n\017Impo"
|
||||
"rtCompleted\020\006BW\n\016io.milvus.grpcB\013CommonP"
|
||||
"rotoP\001Z3github.com/milvus-io/milvus/inte"
|
||||
"rnal/proto/commonpb\240\001\001b\006proto3"
|
||||
"\n\017EmptyCollection\020\032\022\033\n\027UpdateImportTaskF"
|
||||
"ailure\020\033\022\032\n\026CollectionNameNotFound\020\034\022\022\n\r"
|
||||
"DDRequestRace\020\350\007*X\n\nIndexState\022\022\n\016IndexS"
|
||||
"tateNone\020\000\022\014\n\010Unissued\020\001\022\016\n\nInProgress\020\002"
|
||||
"\022\014\n\010Finished\020\003\022\n\n\006Failed\020\004*s\n\014SegmentSta"
|
||||
"te\022\024\n\020SegmentStateNone\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\010"
|
||||
"Flushing\020\005\022\013\n\007Dropped\020\006*\300\t\n\007MsgType\022\r\n\tU"
|
||||
"ndefined\020\000\022\024\n\020CreateCollection\020d\022\022\n\016Drop"
|
||||
"Collection\020e\022\021\n\rHasCollection\020f\022\026\n\022Descr"
|
||||
"ibeCollection\020g\022\023\n\017ShowCollections\020h\022\024\n\020"
|
||||
"GetSystemConfigs\020i\022\022\n\016LoadCollection\020j\022\025"
|
||||
"\n\021ReleaseCollection\020k\022\017\n\013CreateAlias\020l\022\r"
|
||||
"\n\tDropAlias\020m\022\016\n\nAlterAlias\020n\022\024\n\017CreateP"
|
||||
"artition\020\310\001\022\022\n\rDropPartition\020\311\001\022\021\n\014HasPa"
|
||||
"rtition\020\312\001\022\026\n\021DescribePartition\020\313\001\022\023\n\016Sh"
|
||||
"owPartitions\020\314\001\022\023\n\016LoadPartitions\020\315\001\022\026\n\021"
|
||||
"ReleasePartitions\020\316\001\022\021\n\014ShowSegments\020\372\001\022"
|
||||
"\024\n\017DescribeSegment\020\373\001\022\021\n\014LoadSegments\020\374\001"
|
||||
"\022\024\n\017ReleaseSegments\020\375\001\022\024\n\017HandoffSegment"
|
||||
"s\020\376\001\022\030\n\023LoadBalanceSegments\020\377\001\022\025\n\020Descri"
|
||||
"beSegments\020\200\002\022\020\n\013CreateIndex\020\254\002\022\022\n\rDescr"
|
||||
"ibeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\013\n\006Insert\020\220\003"
|
||||
"\022\013\n\006Delete\020\221\003\022\n\n\005Flush\020\222\003\022\013\n\006Search\020\364\003\022\021"
|
||||
"\n\014SearchResult\020\365\003\022\022\n\rGetIndexState\020\366\003\022\032\n"
|
||||
"\025GetIndexBuildProgress\020\367\003\022\034\n\027GetCollecti"
|
||||
"onStatistics\020\370\003\022\033\n\026GetPartitionStatistic"
|
||||
"s\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\020RemoveDmChanne"
|
||||
"ls\020\375\003\022\027\n\022WatchQueryChannels\020\376\003\022\030\n\023Remove"
|
||||
"QueryChannels\020\377\003\022\035\n\030SealedSegmentsChange"
|
||||
"Info\020\200\004\022\027\n\022WatchDeltaChannels\020\201\004\022\020\n\013Segm"
|
||||
"entInfo\020\330\004\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecove"
|
||||
"ryInfo\020\332\004\022\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeT"
|
||||
"ick\020\260\t\022\023\n\016QueryNodeStats\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\017"
|
||||
"AllocateSegment\020\265\t\022\026\n\021SegmentStatistics\020"
|
||||
"\266\t\022\025\n\020SegmentFlushDone\020\267\t\022\017\n\nDataNodeTt\020"
|
||||
"\270\t*\"\n\007DslType\022\007\n\003Dsl\020\000\022\016\n\nBoolExprV1\020\001*B"
|
||||
"\n\017CompactionState\022\021\n\rUndefiedState\020\000\022\r\n\t"
|
||||
"Executing\020\001\022\r\n\tCompleted\020\002*X\n\020Consistenc"
|
||||
"yLevel\022\n\n\006Strong\020\000\022\013\n\007Session\020\001\022\013\n\007Bound"
|
||||
"ed\020\002\022\016\n\nEventually\020\003\022\016\n\nCustomized\020\004*\227\001\n"
|
||||
"\013ImportState\022\021\n\rImportPending\020\000\022\020\n\014Impor"
|
||||
"tFailed\020\001\022\021\n\rImportStarted\020\002\022\024\n\020ImportDo"
|
||||
"wnloaded\020\003\022\020\n\014ImportParsed\020\004\022\023\n\017ImportPe"
|
||||
"rsisted\020\005\022\023\n\017ImportCompleted\020\006BW\n\016io.mil"
|
||||
"vus.grpcB\013CommonProtoP\001Z3github.com/milv"
|
||||
"us-io/milvus/internal/proto/commonpb\240\001\001b"
|
||||
"\006proto3"
|
||||
;
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_common_2eproto_deps[1] = {
|
||||
};
|
||||
|
@ -343,7 +345,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_com
|
|||
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_common_2eproto_once;
|
||||
static bool descriptor_table_common_2eproto_initialized = false;
|
||||
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_common_2eproto = {
|
||||
&descriptor_table_common_2eproto_initialized, descriptor_table_protodef_common_2eproto, "common.proto", 2950,
|
||||
&descriptor_table_common_2eproto_initialized, descriptor_table_protodef_common_2eproto, "common.proto", 3007,
|
||||
&descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_sccs, descriptor_table_common_2eproto_deps, 8, 0,
|
||||
schemas, file_default_instances, TableStruct_common_2eproto::offsets,
|
||||
file_level_metadata_common_2eproto, 8, file_level_enum_descriptors_common_2eproto, file_level_service_descriptors_common_2eproto,
|
||||
|
@ -386,6 +388,8 @@ bool ErrorCode_IsValid(int value) {
|
|||
case 24:
|
||||
case 25:
|
||||
case 26:
|
||||
case 27:
|
||||
case 28:
|
||||
case 1000:
|
||||
return true;
|
||||
default:
|
||||
|
|
|
@ -126,6 +126,8 @@ enum ErrorCode : int {
|
|||
OutOfMemory = 24,
|
||||
IndexNotExist = 25,
|
||||
EmptyCollection = 26,
|
||||
UpdateImportTaskFailure = 27,
|
||||
CollectionNameNotFound = 28,
|
||||
DDRequestRace = 1000,
|
||||
ErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
|
||||
ErrorCode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
|
||||
|
|
|
@ -2267,7 +2267,8 @@ func TestImport(t *testing.T) {
|
|||
defer closeTestServer(t, svr)
|
||||
|
||||
resp, err := svr.Import(svr.ctx, &datapb.ImportTask{
|
||||
CollectionName: "dummy",
|
||||
CollectionId: 100,
|
||||
PartitionId: 100,
|
||||
})
|
||||
assert.Nil(t, err)
|
||||
assert.EqualValues(t, commonpb.ErrorCode_Success, resp.Status.GetErrorCode())
|
||||
|
@ -2280,7 +2281,8 @@ func TestImport(t *testing.T) {
|
|||
closeTestServer(t, svr)
|
||||
|
||||
resp, err := svr.Import(svr.ctx, &datapb.ImportTask{
|
||||
CollectionName: "dummy",
|
||||
CollectionId: 100,
|
||||
PartitionId: 100,
|
||||
})
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.Status.GetErrorCode())
|
||||
|
|
|
@ -969,7 +969,7 @@ func (s *Server) Import(ctx context.Context, req *datapb.ImportTask) (*datapb.Im
|
|||
}
|
||||
|
||||
if s.isClosed() {
|
||||
log.Warn("failed to import because of closed server", zap.String("collectionName", req.GetCollectionName()))
|
||||
log.Warn("failed to import because of closed server", zap.Int64("collection ID", req.GetCollectionId()))
|
||||
resp.Status.Reason = msgDataCoordIsUnhealthy(Params.DataCoordCfg.NodeID)
|
||||
return resp, nil
|
||||
}
|
||||
|
|
|
@ -781,8 +781,8 @@ func (node *DataNode) Import(ctx context.Context, req *datapb.ImportTask) (*comm
|
|||
|
||||
if !node.isHealthy() {
|
||||
log.Warn("DataNode.Import failed",
|
||||
zap.String("collectionName", req.GetCollectionName()),
|
||||
zap.String("partitionName", req.GetPartitionName()),
|
||||
zap.Int64("collection ID", req.GetCollectionId()),
|
||||
zap.Int64("partition ID", req.GetPartitionId()),
|
||||
zap.Int64("taskID", req.GetTaskId()),
|
||||
zap.Error(errDataNodeIsUnhealthy(Params.DataNodeCfg.NodeID)))
|
||||
|
||||
|
|
|
@ -318,7 +318,8 @@ func TestDataNode(t *testing.T) {
|
|||
|
||||
t.Run("Test Import", func(t *testing.T) {
|
||||
req := &datapb.ImportTask{
|
||||
CollectionName: "dummy",
|
||||
CollectionId: 100,
|
||||
PartitionId: 100,
|
||||
}
|
||||
stat, err := node.Import(node.ctx, req)
|
||||
assert.NoError(t, err)
|
||||
|
|
|
@ -35,6 +35,8 @@ enum ErrorCode {
|
|||
OutOfMemory = 24;
|
||||
IndexNotExist = 25;
|
||||
EmptyCollection = 26;
|
||||
UpdateImportTaskFailure = 27;
|
||||
CollectionNameNotFound = 28;
|
||||
|
||||
// internal error code.
|
||||
DDRequestRace = 1000;
|
||||
|
|
|
@ -23,32 +23,34 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
|||
type ErrorCode int32
|
||||
|
||||
const (
|
||||
ErrorCode_Success ErrorCode = 0
|
||||
ErrorCode_UnexpectedError ErrorCode = 1
|
||||
ErrorCode_ConnectFailed ErrorCode = 2
|
||||
ErrorCode_PermissionDenied ErrorCode = 3
|
||||
ErrorCode_CollectionNotExists ErrorCode = 4
|
||||
ErrorCode_IllegalArgument ErrorCode = 5
|
||||
ErrorCode_IllegalDimension ErrorCode = 7
|
||||
ErrorCode_IllegalIndexType ErrorCode = 8
|
||||
ErrorCode_IllegalCollectionName ErrorCode = 9
|
||||
ErrorCode_IllegalTOPK ErrorCode = 10
|
||||
ErrorCode_IllegalRowRecord ErrorCode = 11
|
||||
ErrorCode_IllegalVectorID ErrorCode = 12
|
||||
ErrorCode_IllegalSearchResult ErrorCode = 13
|
||||
ErrorCode_FileNotFound ErrorCode = 14
|
||||
ErrorCode_MetaFailed ErrorCode = 15
|
||||
ErrorCode_CacheFailed ErrorCode = 16
|
||||
ErrorCode_CannotCreateFolder ErrorCode = 17
|
||||
ErrorCode_CannotCreateFile ErrorCode = 18
|
||||
ErrorCode_CannotDeleteFolder ErrorCode = 19
|
||||
ErrorCode_CannotDeleteFile ErrorCode = 20
|
||||
ErrorCode_BuildIndexError ErrorCode = 21
|
||||
ErrorCode_IllegalNLIST ErrorCode = 22
|
||||
ErrorCode_IllegalMetricType ErrorCode = 23
|
||||
ErrorCode_OutOfMemory ErrorCode = 24
|
||||
ErrorCode_IndexNotExist ErrorCode = 25
|
||||
ErrorCode_EmptyCollection ErrorCode = 26
|
||||
ErrorCode_Success ErrorCode = 0
|
||||
ErrorCode_UnexpectedError ErrorCode = 1
|
||||
ErrorCode_ConnectFailed ErrorCode = 2
|
||||
ErrorCode_PermissionDenied ErrorCode = 3
|
||||
ErrorCode_CollectionNotExists ErrorCode = 4
|
||||
ErrorCode_IllegalArgument ErrorCode = 5
|
||||
ErrorCode_IllegalDimension ErrorCode = 7
|
||||
ErrorCode_IllegalIndexType ErrorCode = 8
|
||||
ErrorCode_IllegalCollectionName ErrorCode = 9
|
||||
ErrorCode_IllegalTOPK ErrorCode = 10
|
||||
ErrorCode_IllegalRowRecord ErrorCode = 11
|
||||
ErrorCode_IllegalVectorID ErrorCode = 12
|
||||
ErrorCode_IllegalSearchResult ErrorCode = 13
|
||||
ErrorCode_FileNotFound ErrorCode = 14
|
||||
ErrorCode_MetaFailed ErrorCode = 15
|
||||
ErrorCode_CacheFailed ErrorCode = 16
|
||||
ErrorCode_CannotCreateFolder ErrorCode = 17
|
||||
ErrorCode_CannotCreateFile ErrorCode = 18
|
||||
ErrorCode_CannotDeleteFolder ErrorCode = 19
|
||||
ErrorCode_CannotDeleteFile ErrorCode = 20
|
||||
ErrorCode_BuildIndexError ErrorCode = 21
|
||||
ErrorCode_IllegalNLIST ErrorCode = 22
|
||||
ErrorCode_IllegalMetricType ErrorCode = 23
|
||||
ErrorCode_OutOfMemory ErrorCode = 24
|
||||
ErrorCode_IndexNotExist ErrorCode = 25
|
||||
ErrorCode_EmptyCollection ErrorCode = 26
|
||||
ErrorCode_UpdateImportTaskFailure ErrorCode = 27
|
||||
ErrorCode_CollectionNameNotFound ErrorCode = 28
|
||||
// internal error code.
|
||||
ErrorCode_DDRequestRace ErrorCode = 1000
|
||||
)
|
||||
|
@ -80,37 +82,41 @@ var ErrorCode_name = map[int32]string{
|
|||
24: "OutOfMemory",
|
||||
25: "IndexNotExist",
|
||||
26: "EmptyCollection",
|
||||
27: "UpdateImportTaskFailure",
|
||||
28: "CollectionNameNotFound",
|
||||
1000: "DDRequestRace",
|
||||
}
|
||||
|
||||
var ErrorCode_value = map[string]int32{
|
||||
"Success": 0,
|
||||
"UnexpectedError": 1,
|
||||
"ConnectFailed": 2,
|
||||
"PermissionDenied": 3,
|
||||
"CollectionNotExists": 4,
|
||||
"IllegalArgument": 5,
|
||||
"IllegalDimension": 7,
|
||||
"IllegalIndexType": 8,
|
||||
"IllegalCollectionName": 9,
|
||||
"IllegalTOPK": 10,
|
||||
"IllegalRowRecord": 11,
|
||||
"IllegalVectorID": 12,
|
||||
"IllegalSearchResult": 13,
|
||||
"FileNotFound": 14,
|
||||
"MetaFailed": 15,
|
||||
"CacheFailed": 16,
|
||||
"CannotCreateFolder": 17,
|
||||
"CannotCreateFile": 18,
|
||||
"CannotDeleteFolder": 19,
|
||||
"CannotDeleteFile": 20,
|
||||
"BuildIndexError": 21,
|
||||
"IllegalNLIST": 22,
|
||||
"IllegalMetricType": 23,
|
||||
"OutOfMemory": 24,
|
||||
"IndexNotExist": 25,
|
||||
"EmptyCollection": 26,
|
||||
"DDRequestRace": 1000,
|
||||
"Success": 0,
|
||||
"UnexpectedError": 1,
|
||||
"ConnectFailed": 2,
|
||||
"PermissionDenied": 3,
|
||||
"CollectionNotExists": 4,
|
||||
"IllegalArgument": 5,
|
||||
"IllegalDimension": 7,
|
||||
"IllegalIndexType": 8,
|
||||
"IllegalCollectionName": 9,
|
||||
"IllegalTOPK": 10,
|
||||
"IllegalRowRecord": 11,
|
||||
"IllegalVectorID": 12,
|
||||
"IllegalSearchResult": 13,
|
||||
"FileNotFound": 14,
|
||||
"MetaFailed": 15,
|
||||
"CacheFailed": 16,
|
||||
"CannotCreateFolder": 17,
|
||||
"CannotCreateFile": 18,
|
||||
"CannotDeleteFolder": 19,
|
||||
"CannotDeleteFile": 20,
|
||||
"BuildIndexError": 21,
|
||||
"IllegalNLIST": 22,
|
||||
"IllegalMetricType": 23,
|
||||
"OutOfMemory": 24,
|
||||
"IndexNotExist": 25,
|
||||
"EmptyCollection": 26,
|
||||
"UpdateImportTaskFailure": 27,
|
||||
"CollectionNameNotFound": 28,
|
||||
"DDRequestRace": 1000,
|
||||
}
|
||||
|
||||
func (x ErrorCode) String() string {
|
||||
|
@ -926,106 +932,107 @@ func init() {
|
|||
func init() { proto.RegisterFile("common.proto", fileDescriptor_555bd8c177793206) }
|
||||
|
||||
var fileDescriptor_555bd8c177793206 = []byte{
|
||||
// 1602 bytes of a gzipped FileDescriptorProto
|
||||
// 1630 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4b, 0x73, 0x1b, 0xb9,
|
||||
0x11, 0xd6, 0x70, 0x28, 0x51, 0x04, 0x29, 0x0a, 0x86, 0x1e, 0xd6, 0x3a, 0x4e, 0xca, 0xa5, 0x93,
|
||||
0x4b, 0x55, 0x6b, 0x27, 0x71, 0x55, 0x72, 0xda, 0x83, 0xc8, 0x91, 0x64, 0x96, 0x2d, 0x99, 0x21,
|
||||
0x65, 0xef, 0x56, 0x0e, 0x71, 0x41, 0x33, 0x2d, 0x12, 0x31, 0x06, 0x60, 0x00, 0x8c, 0x2c, 0xe6,
|
||||
0xb4, 0xf9, 0x07, 0xc9, 0x5e, 0x72, 0xcd, 0x0f, 0x48, 0x52, 0x79, 0x27, 0x95, 0x53, 0x8e, 0x79,
|
||||
0x9f, 0xf3, 0xf8, 0x03, 0xf9, 0x01, 0x79, 0xee, 0x33, 0xd5, 0x98, 0xe1, 0xcc, 0x6c, 0x6a, 0x7d,
|
||||
0xca, 0x0d, 0xfd, 0xa1, 0xfb, 0x43, 0xa3, 0xbb, 0xd1, 0x68, 0xd2, 0x8d, 0x75, 0x9a, 0x6a, 0x75,
|
||||
0x6f, 0x6e, 0xb4, 0xd3, 0x6c, 0x2b, 0x15, 0xf2, 0x2a, 0xb3, 0xb9, 0x74, 0x2f, 0xdf, 0xda, 0x7f,
|
||||
0x4e, 0xd6, 0x26, 0x8e, 0xbb, 0xcc, 0xb2, 0x37, 0x08, 0x01, 0x63, 0xb4, 0x79, 0x1e, 0xeb, 0x04,
|
||||
0xf6, 0x82, 0x3b, 0xc1, 0xdd, 0xde, 0xe7, 0x3f, 0x73, 0xef, 0x13, 0x6c, 0xee, 0x1d, 0xa1, 0xda,
|
||||
0x40, 0x27, 0x30, 0x6e, 0xc3, 0x72, 0xc9, 0x76, 0xc9, 0x9a, 0x01, 0x6e, 0xb5, 0xda, 0x6b, 0xdc,
|
||||
0x09, 0xee, 0xb6, 0xc7, 0x85, 0xb4, 0xff, 0x05, 0xd2, 0x7d, 0x04, 0x8b, 0x67, 0x5c, 0x66, 0x30,
|
||||
0xe2, 0xc2, 0x30, 0x4a, 0xc2, 0x17, 0xb0, 0xf0, 0xfc, 0xed, 0x31, 0x2e, 0xd9, 0x36, 0x59, 0xbd,
|
||||
0xc2, 0xed, 0xc2, 0x30, 0x17, 0xf6, 0x1f, 0x90, 0xce, 0x23, 0x58, 0x44, 0xdc, 0xf1, 0x57, 0x98,
|
||||
0x31, 0xd2, 0x4c, 0xb8, 0xe3, 0xde, 0xaa, 0x3b, 0xf6, 0xeb, 0xfd, 0xdb, 0xa4, 0xd9, 0x97, 0xfa,
|
||||
0xa2, 0xa2, 0x0c, 0xfc, 0x66, 0x41, 0xf9, 0x3a, 0x69, 0x1d, 0x26, 0x89, 0x01, 0x6b, 0x59, 0x8f,
|
||||
0x34, 0xc4, 0xbc, 0x60, 0x6b, 0x88, 0x39, 0x92, 0xcd, 0xb5, 0x71, 0x9e, 0x2c, 0x1c, 0xfb, 0xf5,
|
||||
0xfe, 0x3b, 0x01, 0x69, 0x9d, 0xda, 0x69, 0x9f, 0x5b, 0x60, 0x5f, 0x24, 0xeb, 0xa9, 0x9d, 0x3e,
|
||||
0x77, 0x8b, 0xf9, 0x32, 0x34, 0xb7, 0x3f, 0x31, 0x34, 0xa7, 0x76, 0x7a, 0xbe, 0x98, 0xc3, 0xb8,
|
||||
0x95, 0xe6, 0x0b, 0xf4, 0x24, 0xb5, 0xd3, 0x61, 0x54, 0x30, 0xe7, 0x02, 0xbb, 0x4d, 0xda, 0x4e,
|
||||
0xa4, 0x60, 0x1d, 0x4f, 0xe7, 0x7b, 0xe1, 0x9d, 0xe0, 0x6e, 0x73, 0x5c, 0x01, 0xec, 0x16, 0x59,
|
||||
0xb7, 0x3a, 0x33, 0x31, 0x0c, 0xa3, 0xbd, 0xa6, 0x37, 0x2b, 0xe5, 0xfd, 0x37, 0x48, 0xfb, 0xd4,
|
||||
0x4e, 0x1f, 0x02, 0x4f, 0xc0, 0xb0, 0xcf, 0x92, 0xe6, 0x05, 0xb7, 0xb9, 0x47, 0x9d, 0x57, 0x7b,
|
||||
0x84, 0x37, 0x18, 0x7b, 0xcd, 0xfd, 0xaf, 0x90, 0x6e, 0x74, 0xfa, 0xf8, 0xff, 0x60, 0x40, 0xd7,
|
||||
0xed, 0x8c, 0x9b, 0xe4, 0x8c, 0xa7, 0xcb, 0x8c, 0x55, 0xc0, 0xc1, 0x2f, 0x9b, 0xa4, 0x5d, 0x96,
|
||||
0x07, 0xeb, 0x90, 0xd6, 0x24, 0x8b, 0x63, 0xb0, 0x96, 0xae, 0xb0, 0x2d, 0xb2, 0xf9, 0x54, 0xc1,
|
||||
0xf5, 0x1c, 0x62, 0x07, 0x89, 0xd7, 0xa1, 0x01, 0xbb, 0x41, 0x36, 0x06, 0x5a, 0x29, 0x88, 0xdd,
|
||||
0x31, 0x17, 0x12, 0x12, 0xda, 0x60, 0xdb, 0x84, 0x8e, 0xc0, 0xa4, 0xc2, 0x5a, 0xa1, 0x55, 0x04,
|
||||
0x4a, 0x40, 0x42, 0x43, 0x76, 0x93, 0x6c, 0x0d, 0xb4, 0x94, 0x10, 0x3b, 0xa1, 0xd5, 0x99, 0x76,
|
||||
0x47, 0xd7, 0xc2, 0x3a, 0x4b, 0x9b, 0x48, 0x3b, 0x94, 0x12, 0xa6, 0x5c, 0x1e, 0x9a, 0x69, 0x96,
|
||||
0x82, 0x72, 0x74, 0x15, 0x39, 0x0a, 0x30, 0x12, 0x29, 0x28, 0x64, 0xa2, 0xad, 0x1a, 0x3a, 0x54,
|
||||
0x09, 0x5c, 0x63, 0x7e, 0xe8, 0x3a, 0x7b, 0x8d, 0xec, 0x14, 0x68, 0xed, 0x00, 0x9e, 0x02, 0x6d,
|
||||
0xb3, 0x4d, 0xd2, 0x29, 0xb6, 0xce, 0x9f, 0x8c, 0x1e, 0x51, 0x52, 0x63, 0x18, 0xeb, 0x97, 0x63,
|
||||
0x88, 0xb5, 0x49, 0x68, 0xa7, 0xe6, 0xc2, 0x33, 0x88, 0x9d, 0x36, 0xc3, 0x88, 0x76, 0xd1, 0xe1,
|
||||
0x02, 0x9c, 0x00, 0x37, 0xf1, 0x6c, 0x0c, 0x36, 0x93, 0x8e, 0x6e, 0x30, 0x4a, 0xba, 0xc7, 0x42,
|
||||
0xc2, 0x99, 0x76, 0xc7, 0x3a, 0x53, 0x09, 0xed, 0xb1, 0x1e, 0x21, 0xa7, 0xe0, 0x78, 0x11, 0x81,
|
||||
0x4d, 0x3c, 0x76, 0xc0, 0xe3, 0x19, 0x14, 0x00, 0x65, 0xbb, 0x84, 0x0d, 0xb8, 0x52, 0xda, 0x0d,
|
||||
0x0c, 0x70, 0x07, 0xc7, 0x5a, 0x26, 0x60, 0xe8, 0x0d, 0x74, 0xe7, 0x63, 0xb8, 0x90, 0x40, 0x59,
|
||||
0xa5, 0x1d, 0x81, 0x84, 0x52, 0x7b, 0xab, 0xd2, 0x2e, 0x70, 0xd4, 0xde, 0x46, 0xe7, 0xfb, 0x99,
|
||||
0x90, 0x89, 0x0f, 0x49, 0x9e, 0x96, 0x1d, 0xf4, 0xb1, 0x70, 0xfe, 0xec, 0xf1, 0x70, 0x72, 0x4e,
|
||||
0x77, 0xd9, 0x0e, 0xb9, 0x51, 0x20, 0xa7, 0xe0, 0x8c, 0x88, 0x7d, 0xf0, 0x6e, 0xa2, 0xab, 0x4f,
|
||||
0x32, 0xf7, 0xe4, 0xf2, 0x14, 0x52, 0x6d, 0x16, 0x74, 0x0f, 0x13, 0xea, 0x99, 0x96, 0x29, 0xa2,
|
||||
0xaf, 0xe1, 0x09, 0x47, 0xe9, 0xdc, 0x2d, 0xaa, 0xf0, 0xd2, 0x5b, 0x8c, 0x91, 0x8d, 0x28, 0x1a,
|
||||
0xc3, 0xd7, 0x32, 0xb0, 0x6e, 0xcc, 0x63, 0xa0, 0x7f, 0x6b, 0x1d, 0xbc, 0x45, 0x88, 0xb7, 0xc5,
|
||||
0x86, 0x04, 0x8c, 0x91, 0x5e, 0x25, 0x9d, 0x69, 0x05, 0x74, 0x85, 0x75, 0xc9, 0xfa, 0x53, 0x25,
|
||||
0xac, 0xcd, 0x20, 0xa1, 0x01, 0xc6, 0x6d, 0xa8, 0x46, 0x46, 0x4f, 0xf1, 0x49, 0xd3, 0x06, 0xee,
|
||||
0x1e, 0x0b, 0x25, 0xec, 0xcc, 0x57, 0x0c, 0x21, 0x6b, 0x45, 0x00, 0x9b, 0x07, 0x96, 0x74, 0x27,
|
||||
0x30, 0xc5, 0xe2, 0xc8, 0xb9, 0xb7, 0x09, 0xad, 0xcb, 0x15, 0x7b, 0xe9, 0x76, 0x80, 0xc5, 0x7b,
|
||||
0x62, 0xf4, 0x4b, 0xa1, 0xa6, 0xb4, 0x81, 0x64, 0x13, 0xe0, 0xd2, 0x13, 0x77, 0x48, 0xeb, 0x58,
|
||||
0x66, 0xfe, 0x94, 0xa6, 0x3f, 0x13, 0x05, 0x54, 0x5b, 0xc5, 0xad, 0xc8, 0xe8, 0xf9, 0x1c, 0x12,
|
||||
0xba, 0x76, 0xf0, 0xab, 0xb6, 0xef, 0x1f, 0xbe, 0x0d, 0x6c, 0x90, 0xf6, 0x53, 0x95, 0xc0, 0xa5,
|
||||
0x50, 0x90, 0xd0, 0x15, 0x9f, 0x0a, 0x9f, 0xb2, 0x5a, 0x4c, 0x12, 0xbc, 0x31, 0x5a, 0xd7, 0x30,
|
||||
0xc0, 0x78, 0x3e, 0xe4, 0xb6, 0x06, 0x5d, 0x62, 0x7e, 0x23, 0xb0, 0xb1, 0x11, 0x17, 0x75, 0xf3,
|
||||
0x29, 0xc6, 0x79, 0x32, 0xd3, 0x2f, 0x2b, 0xcc, 0xd2, 0x19, 0x9e, 0x74, 0x02, 0x6e, 0xb2, 0xb0,
|
||||
0x0e, 0xd2, 0x81, 0x56, 0x97, 0x62, 0x6a, 0xa9, 0xc0, 0x93, 0x1e, 0x6b, 0x9e, 0xd4, 0xcc, 0xbf,
|
||||
0x8a, 0x19, 0x1e, 0x83, 0x04, 0x6e, 0xeb, 0xac, 0x2f, 0x7c, 0x31, 0x7a, 0x57, 0x0f, 0xa5, 0xe0,
|
||||
0x96, 0x4a, 0xbc, 0x0a, 0x7a, 0x99, 0x8b, 0x29, 0x26, 0xe1, 0x50, 0x3a, 0x30, 0xb9, 0xac, 0xd8,
|
||||
0x36, 0xd9, 0xcc, 0xf5, 0x47, 0xdc, 0x38, 0xe1, 0x49, 0x7e, 0x1d, 0xf8, 0x74, 0x1b, 0x3d, 0xaf,
|
||||
0xb0, 0xdf, 0xe0, 0xdb, 0xef, 0x3e, 0xe4, 0xb6, 0x82, 0x7e, 0x1b, 0xb0, 0x5d, 0x72, 0x63, 0x79,
|
||||
0xb5, 0x0a, 0xff, 0x5d, 0xc0, 0xb6, 0x48, 0x0f, 0xaf, 0x56, 0x62, 0x96, 0xfe, 0xde, 0x83, 0x78,
|
||||
0x89, 0x1a, 0xf8, 0x07, 0xcf, 0x50, 0xdc, 0xa2, 0x86, 0xff, 0xd1, 0x1f, 0x86, 0x0c, 0x45, 0xd6,
|
||||
0x2d, 0x7d, 0x37, 0x40, 0x4f, 0x97, 0x87, 0x15, 0x30, 0x7d, 0xcf, 0x2b, 0x22, 0x6b, 0xa9, 0xf8,
|
||||
0xbe, 0x57, 0x2c, 0x38, 0x4b, 0xf4, 0x03, 0x8f, 0x3e, 0xe4, 0x2a, 0xd1, 0x97, 0x97, 0x25, 0xfa,
|
||||
0x61, 0xc0, 0xf6, 0xc8, 0x16, 0x9a, 0xf7, 0xb9, 0xe4, 0x2a, 0xae, 0xf4, 0x3f, 0x0a, 0xd8, 0x0e,
|
||||
0xa1, 0xff, 0x73, 0x9c, 0xa5, 0x6f, 0x37, 0x18, 0x5d, 0xc6, 0xd7, 0x17, 0x3b, 0xfd, 0x6e, 0xc3,
|
||||
0xc7, 0xaa, 0x50, 0xcc, 0xb1, 0xef, 0x35, 0x58, 0x2f, 0x0f, 0x7a, 0x2e, 0x7f, 0xbf, 0xc1, 0x3a,
|
||||
0x64, 0x6d, 0xa8, 0x2c, 0x18, 0x47, 0xbf, 0x89, 0x05, 0xb9, 0x96, 0x3f, 0x69, 0xfa, 0x2d, 0x2c,
|
||||
0xfb, 0x55, 0x5f, 0x90, 0xf4, 0x1d, 0xbf, 0x91, 0x37, 0x1f, 0xfa, 0xf7, 0xd0, 0x47, 0xa0, 0xde,
|
||||
0x89, 0xfe, 0x11, 0xe2, 0x49, 0x27, 0xe0, 0xaa, 0x57, 0x46, 0xff, 0x19, 0xb2, 0x5b, 0x64, 0x67,
|
||||
0x89, 0xf9, 0xbe, 0x50, 0xbe, 0xaf, 0x7f, 0x85, 0xec, 0x36, 0xb9, 0x79, 0x02, 0xae, 0x2a, 0x0f,
|
||||
0x34, 0x12, 0xd6, 0x89, 0xd8, 0xd2, 0x7f, 0x87, 0xec, 0x53, 0x64, 0xf7, 0x04, 0x5c, 0x19, 0xf6,
|
||||
0xda, 0xe6, 0x7f, 0x42, 0xb6, 0x41, 0xd6, 0xc7, 0xd8, 0x38, 0xe0, 0x0a, 0xe8, 0xbb, 0x21, 0xe6,
|
||||
0x6e, 0x29, 0x16, 0xee, 0xbc, 0x17, 0x62, 0x44, 0xdf, 0xe4, 0x2e, 0x9e, 0x45, 0xe9, 0x60, 0xc6,
|
||||
0x95, 0x02, 0x69, 0xe9, 0xfb, 0x21, 0xc6, 0x6d, 0x0c, 0xa9, 0xbe, 0x82, 0x1a, 0xfc, 0x01, 0x7e,
|
||||
0x08, 0xcc, 0x2b, 0x7f, 0x29, 0x03, 0xb3, 0x28, 0x37, 0x3e, 0x0c, 0x31, 0x03, 0xb9, 0xfe, 0xc7,
|
||||
0x77, 0x3e, 0x0a, 0xd9, 0xa7, 0xc9, 0x5e, 0xfe, 0x88, 0x97, 0xf1, 0xc7, 0xcd, 0x29, 0x0c, 0xd5,
|
||||
0xa5, 0xa6, 0x6f, 0x37, 0x4b, 0xc6, 0x08, 0xa4, 0xe3, 0xa5, 0xdd, 0x37, 0x9a, 0x98, 0xa2, 0xc2,
|
||||
0xc2, 0xab, 0xfe, 0xa9, 0xc9, 0x36, 0x09, 0xc9, 0x9f, 0x94, 0x07, 0xfe, 0xdc, 0x44, 0xd7, 0x4f,
|
||||
0xc0, 0xe1, 0x8f, 0x70, 0x05, 0x66, 0xe1, 0xd1, 0xbf, 0x2c, 0xd1, 0x7a, 0xa7, 0xa1, 0x7f, 0x6d,
|
||||
0x62, 0x28, 0xce, 0x45, 0x0a, 0xe7, 0x22, 0x7e, 0x41, 0x7f, 0xd0, 0xc6, 0x50, 0x78, 0x4f, 0xcf,
|
||||
0x74, 0x02, 0xa8, 0x63, 0xe9, 0x0f, 0xdb, 0x98, 0x6f, 0x2c, 0xa3, 0x3c, 0xdf, 0x3f, 0xf2, 0x72,
|
||||
0xd1, 0x2c, 0x87, 0x11, 0xfd, 0x31, 0xfe, 0x4c, 0xa4, 0x90, 0xcf, 0x27, 0x4f, 0xe8, 0x4f, 0xda,
|
||||
0x78, 0xd4, 0xa1, 0x94, 0x3a, 0xe6, 0xae, 0x2c, 0xe6, 0x9f, 0xb6, 0xf1, 0x35, 0xd4, 0x4e, 0x2f,
|
||||
0xb2, 0xf1, 0xb3, 0x36, 0xc6, 0xb4, 0xc0, 0x7d, 0xad, 0x44, 0xd8, 0xff, 0x7e, 0xee, 0x59, 0x71,
|
||||
0xe0, 0x42, 0x4f, 0xce, 0x1d, 0xfd, 0x45, 0xfb, 0x60, 0x9f, 0xb4, 0x22, 0x2b, 0x7d, 0x07, 0x6b,
|
||||
0x91, 0x30, 0xb2, 0x92, 0xae, 0xe0, 0x83, 0xef, 0x6b, 0x2d, 0x8f, 0xae, 0xe7, 0xe6, 0xd9, 0xe7,
|
||||
0x68, 0x70, 0xd0, 0x27, 0x9b, 0x03, 0x9d, 0xce, 0x79, 0x59, 0x11, 0xbe, 0x69, 0xe5, 0xdd, 0x0e,
|
||||
0x92, 0xfc, 0xd6, 0x2b, 0xd8, 0x35, 0x8e, 0xae, 0x21, 0xce, 0x1c, 0x36, 0xca, 0x00, 0x45, 0x34,
|
||||
0xc2, 0xa2, 0x4d, 0x68, 0xe3, 0xe0, 0x2d, 0x42, 0x07, 0x5a, 0x59, 0x61, 0x1d, 0xa8, 0x78, 0xf1,
|
||||
0x18, 0xae, 0x40, 0xfa, 0x96, 0xeb, 0x8c, 0x56, 0x53, 0xba, 0xe2, 0x07, 0x09, 0xf0, 0x03, 0x41,
|
||||
0xde, 0x98, 0xfb, 0xf8, 0x73, 0xfa, 0x69, 0xa1, 0x47, 0xc8, 0xd1, 0x15, 0x28, 0x97, 0x71, 0x29,
|
||||
0x17, 0x34, 0x44, 0x79, 0x90, 0x59, 0xa7, 0x53, 0xf1, 0x75, 0xdf, 0xf9, 0xbf, 0x1d, 0x90, 0xce,
|
||||
0x30, 0xc5, 0x79, 0xae, 0x74, 0x2d, 0x17, 0x47, 0xa0, 0x12, 0xe1, 0xc9, 0xf1, 0xb3, 0xf3, 0x50,
|
||||
0xf1, 0x5d, 0x04, 0x95, 0xd2, 0xc4, 0x71, 0xe3, 0x96, 0x53, 0x49, 0x0e, 0x45, 0xfa, 0xa5, 0x92,
|
||||
0x9a, 0x27, 0xfe, 0x2b, 0x28, 0x4d, 0x47, 0xdc, 0x58, 0xff, 0x1f, 0xe0, 0x2c, 0x50, 0xf0, 0x1b,
|
||||
0x7f, 0x9f, 0x84, 0xae, 0x56, 0x60, 0x75, 0xe7, 0xb5, 0xfe, 0x9b, 0xa4, 0x27, 0xf4, 0x72, 0xe0,
|
||||
0x9a, 0x9a, 0x79, 0xdc, 0xef, 0x0c, 0xfc, 0xc0, 0x35, 0xc2, 0xe1, 0x6b, 0x14, 0x7c, 0xf9, 0xc1,
|
||||
0x54, 0xb8, 0x59, 0x76, 0x81, 0x63, 0xd8, 0xfd, 0x5c, 0xed, 0x75, 0xa1, 0x8b, 0xd5, 0x7d, 0xa1,
|
||||
0x1c, 0x18, 0xc5, 0xe5, 0x7d, 0x3f, 0xaa, 0xdd, 0xcf, 0x47, 0xb5, 0xf9, 0xc5, 0x77, 0x82, 0xe0,
|
||||
0x62, 0xcd, 0x43, 0x0f, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x7d, 0x9d, 0x36, 0xfe, 0x0b,
|
||||
0x00, 0x00,
|
||||
0x11, 0xd6, 0x90, 0xd4, 0x83, 0x2d, 0x89, 0x82, 0xa1, 0x87, 0xb5, 0xb6, 0x92, 0x72, 0xe9, 0xe4,
|
||||
0x52, 0xd5, 0xda, 0x49, 0x5c, 0x95, 0x9c, 0xf6, 0x20, 0x72, 0x24, 0x99, 0x65, 0x4b, 0x66, 0x48,
|
||||
0xd9, 0xbb, 0x95, 0x43, 0x5c, 0xd0, 0x4c, 0x8b, 0x44, 0x3c, 0x03, 0x30, 0x00, 0x46, 0x16, 0x73,
|
||||
0xda, 0xfc, 0x83, 0x64, 0x2f, 0xb9, 0xe6, 0x07, 0x24, 0xa9, 0xbc, 0x93, 0x63, 0x8e, 0x79, 0x9f,
|
||||
0xf3, 0xf8, 0x03, 0xb9, 0xe7, 0xbd, 0xcf, 0x54, 0x63, 0x86, 0x33, 0xe3, 0xd4, 0xee, 0x69, 0x6f,
|
||||
0xe8, 0x0f, 0xdd, 0x5f, 0x37, 0xba, 0x1b, 0x0d, 0xc0, 0x5a, 0xa4, 0xd3, 0x54, 0xab, 0x7b, 0x53,
|
||||
0xa3, 0x9d, 0xe6, 0x9b, 0xa9, 0x4c, 0xae, 0x32, 0x9b, 0x4b, 0xf7, 0xf2, 0xad, 0xfd, 0xe7, 0xb0,
|
||||
0x34, 0x72, 0xc2, 0x65, 0x96, 0xbf, 0x01, 0x80, 0xc6, 0x68, 0xf3, 0x3c, 0xd2, 0x31, 0xee, 0x06,
|
||||
0x77, 0x82, 0xbb, 0x9d, 0x2f, 0x7c, 0xf6, 0xde, 0xc7, 0xd8, 0xdc, 0x3b, 0x22, 0xb5, 0x9e, 0x8e,
|
||||
0x71, 0xd8, 0xc6, 0xf9, 0x92, 0xef, 0xc0, 0x92, 0x41, 0x61, 0xb5, 0xda, 0x6d, 0xdc, 0x09, 0xee,
|
||||
0xb6, 0x87, 0x85, 0xb4, 0xff, 0x45, 0x58, 0x7b, 0x84, 0xb3, 0x67, 0x22, 0xc9, 0x70, 0x20, 0xa4,
|
||||
0xe1, 0x0c, 0x9a, 0x2f, 0x70, 0xe6, 0xf9, 0xdb, 0x43, 0x5a, 0xf2, 0x2d, 0x58, 0xbc, 0xa2, 0xed,
|
||||
0xc2, 0x30, 0x17, 0xf6, 0x1f, 0xc0, 0xea, 0x23, 0x9c, 0x85, 0xc2, 0x89, 0x4f, 0x30, 0xe3, 0xd0,
|
||||
0x8a, 0x85, 0x13, 0xde, 0x6a, 0x6d, 0xe8, 0xd7, 0xfb, 0x7b, 0xd0, 0xea, 0x26, 0xfa, 0xa2, 0xa2,
|
||||
0x0c, 0xfc, 0x66, 0x41, 0xf9, 0x3a, 0x2c, 0x1f, 0xc6, 0xb1, 0x41, 0x6b, 0x79, 0x07, 0x1a, 0x72,
|
||||
0x5a, 0xb0, 0x35, 0xe4, 0x94, 0xc8, 0xa6, 0xda, 0x38, 0x4f, 0xd6, 0x1c, 0xfa, 0xf5, 0xfe, 0x3b,
|
||||
0x01, 0x2c, 0x9f, 0xda, 0x71, 0x57, 0x58, 0xe4, 0x5f, 0x82, 0x95, 0xd4, 0x8e, 0x9f, 0xbb, 0xd9,
|
||||
0x74, 0x9e, 0x9a, 0xbd, 0x8f, 0x4d, 0xcd, 0xa9, 0x1d, 0x9f, 0xcf, 0xa6, 0x38, 0x5c, 0x4e, 0xf3,
|
||||
0x05, 0x45, 0x92, 0xda, 0x71, 0x3f, 0x2c, 0x98, 0x73, 0x81, 0xef, 0x41, 0xdb, 0xc9, 0x14, 0xad,
|
||||
0x13, 0xe9, 0x74, 0xb7, 0x79, 0x27, 0xb8, 0xdb, 0x1a, 0x56, 0x00, 0xbf, 0x05, 0x2b, 0x56, 0x67,
|
||||
0x26, 0xc2, 0x7e, 0xb8, 0xdb, 0xf2, 0x66, 0xa5, 0xbc, 0xff, 0x06, 0xb4, 0x4f, 0xed, 0xf8, 0x21,
|
||||
0x8a, 0x18, 0x0d, 0xff, 0x1c, 0xb4, 0x2e, 0x84, 0xcd, 0x23, 0x5a, 0xfd, 0xe4, 0x88, 0xe8, 0x04,
|
||||
0x43, 0xaf, 0xb9, 0xff, 0x55, 0x58, 0x0b, 0x4f, 0x1f, 0x7f, 0x0a, 0x06, 0x0a, 0xdd, 0x4e, 0x84,
|
||||
0x89, 0xcf, 0x44, 0x3a, 0xaf, 0x58, 0x05, 0x1c, 0xfc, 0xbd, 0x05, 0xed, 0xb2, 0x3d, 0xf8, 0x2a,
|
||||
0x2c, 0x8f, 0xb2, 0x28, 0x42, 0x6b, 0xd9, 0x02, 0xdf, 0x84, 0x8d, 0xa7, 0x0a, 0xaf, 0xa7, 0x18,
|
||||
0x39, 0x8c, 0xbd, 0x0e, 0x0b, 0xf8, 0x0d, 0x58, 0xef, 0x69, 0xa5, 0x30, 0x72, 0xc7, 0x42, 0x26,
|
||||
0x18, 0xb3, 0x06, 0xdf, 0x02, 0x36, 0x40, 0x93, 0x4a, 0x6b, 0xa5, 0x56, 0x21, 0x2a, 0x89, 0x31,
|
||||
0x6b, 0xf2, 0x9b, 0xb0, 0xd9, 0xd3, 0x49, 0x82, 0x91, 0x93, 0x5a, 0x9d, 0x69, 0x77, 0x74, 0x2d,
|
||||
0xad, 0xb3, 0xac, 0x45, 0xb4, 0xfd, 0x24, 0xc1, 0xb1, 0x48, 0x0e, 0xcd, 0x38, 0x4b, 0x51, 0x39,
|
||||
0xb6, 0x48, 0x1c, 0x05, 0x18, 0xca, 0x14, 0x15, 0x31, 0xb1, 0xe5, 0x1a, 0xda, 0x57, 0x31, 0x5e,
|
||||
0x53, 0x7d, 0xd8, 0x0a, 0x7f, 0x0d, 0xb6, 0x0b, 0xb4, 0xe6, 0x40, 0xa4, 0xc8, 0xda, 0x7c, 0x03,
|
||||
0x56, 0x8b, 0xad, 0xf3, 0x27, 0x83, 0x47, 0x0c, 0x6a, 0x0c, 0x43, 0xfd, 0x72, 0x88, 0x91, 0x36,
|
||||
0x31, 0x5b, 0xad, 0x85, 0xf0, 0x0c, 0x23, 0xa7, 0x4d, 0x3f, 0x64, 0x6b, 0x14, 0x70, 0x01, 0x8e,
|
||||
0x50, 0x98, 0x68, 0x32, 0x44, 0x9b, 0x25, 0x8e, 0xad, 0x73, 0x06, 0x6b, 0xc7, 0x32, 0xc1, 0x33,
|
||||
0xed, 0x8e, 0x75, 0xa6, 0x62, 0xd6, 0xe1, 0x1d, 0x80, 0x53, 0x74, 0xa2, 0xc8, 0xc0, 0x06, 0xb9,
|
||||
0xed, 0x89, 0x68, 0x82, 0x05, 0xc0, 0xf8, 0x0e, 0xf0, 0x9e, 0x50, 0x4a, 0xbb, 0x9e, 0x41, 0xe1,
|
||||
0xf0, 0x58, 0x27, 0x31, 0x1a, 0x76, 0x83, 0xc2, 0x79, 0x05, 0x97, 0x09, 0x32, 0x5e, 0x69, 0x87,
|
||||
0x98, 0x60, 0xa9, 0xbd, 0x59, 0x69, 0x17, 0x38, 0x69, 0x6f, 0x51, 0xf0, 0xdd, 0x4c, 0x26, 0xb1,
|
||||
0x4f, 0x49, 0x5e, 0x96, 0x6d, 0x8a, 0xb1, 0x08, 0xfe, 0xec, 0x71, 0x7f, 0x74, 0xce, 0x76, 0xf8,
|
||||
0x36, 0xdc, 0x28, 0x90, 0x53, 0x74, 0x46, 0x46, 0x3e, 0x79, 0x37, 0x29, 0xd4, 0x27, 0x99, 0x7b,
|
||||
0x72, 0x79, 0x8a, 0xa9, 0x36, 0x33, 0xb6, 0x4b, 0x05, 0xf5, 0x4c, 0xf3, 0x12, 0xb1, 0xd7, 0xc8,
|
||||
0xc3, 0x51, 0x3a, 0x75, 0xb3, 0x2a, 0xbd, 0xec, 0x16, 0xbf, 0x0d, 0x37, 0x9f, 0x4e, 0x63, 0xe1,
|
||||
0xb0, 0x9f, 0xd2, 0x65, 0x3b, 0x17, 0xf6, 0x05, 0x1d, 0x37, 0x33, 0xc8, 0x6e, 0xf3, 0x5b, 0xb0,
|
||||
0xf3, 0x6a, 0x2d, 0xca, 0x64, 0xed, 0x71, 0x0e, 0xeb, 0x61, 0x38, 0xc4, 0xaf, 0x67, 0x68, 0xdd,
|
||||
0x50, 0x44, 0xc8, 0xfe, 0xb6, 0x7c, 0xf0, 0x16, 0x80, 0x77, 0x4a, 0x93, 0x0c, 0x39, 0x87, 0x4e,
|
||||
0x25, 0x9d, 0x69, 0x85, 0x6c, 0x81, 0xaf, 0xc1, 0xca, 0x53, 0x25, 0xad, 0xcd, 0x30, 0x66, 0x01,
|
||||
0x25, 0xbc, 0xaf, 0x06, 0x46, 0x8f, 0x69, 0x16, 0xb0, 0x06, 0xed, 0x1e, 0x4b, 0x25, 0xed, 0xc4,
|
||||
0xb7, 0x1a, 0xc0, 0x52, 0x91, 0xf9, 0xd6, 0x81, 0x85, 0xb5, 0x11, 0x8e, 0xa9, 0xab, 0x72, 0xee,
|
||||
0x2d, 0x60, 0x75, 0xb9, 0x62, 0x2f, 0xcf, 0x1b, 0x50, 0xd7, 0x9f, 0x18, 0xfd, 0x52, 0xaa, 0x31,
|
||||
0x6b, 0x10, 0xd9, 0x08, 0x45, 0xe2, 0x89, 0x57, 0x61, 0xf9, 0x38, 0xc9, 0xbc, 0x97, 0x96, 0xf7,
|
||||
0x49, 0x02, 0xa9, 0x2d, 0xd2, 0x56, 0x68, 0xf4, 0x74, 0x8a, 0x31, 0x5b, 0x3a, 0xf8, 0x55, 0xdb,
|
||||
0x0f, 0x1e, 0x3f, 0x3f, 0xd6, 0xa1, 0xfd, 0x54, 0xc5, 0x78, 0x29, 0x15, 0xc6, 0x6c, 0xc1, 0xd7,
|
||||
0xd0, 0xd7, 0xba, 0x96, 0xcc, 0x98, 0x4e, 0x4c, 0xd6, 0x35, 0x0c, 0xa9, 0x10, 0x0f, 0x85, 0xad,
|
||||
0x41, 0x97, 0xd4, 0x18, 0x21, 0xda, 0xc8, 0xc8, 0x8b, 0xba, 0xf9, 0x98, 0x0a, 0x34, 0x9a, 0xe8,
|
||||
0x97, 0x15, 0x66, 0xd9, 0x84, 0x3c, 0x9d, 0xa0, 0x1b, 0xcd, 0xac, 0xc3, 0xb4, 0xa7, 0xd5, 0xa5,
|
||||
0x1c, 0x5b, 0x26, 0xc9, 0xd3, 0x63, 0x2d, 0xe2, 0x9a, 0xf9, 0xd7, 0xa8, 0x35, 0x86, 0x98, 0xa0,
|
||||
0xb0, 0x75, 0xd6, 0x17, 0xbe, 0x8b, 0x7d, 0xa8, 0x87, 0x89, 0x14, 0x96, 0x25, 0x74, 0x14, 0x8a,
|
||||
0x32, 0x17, 0x53, 0x2a, 0xc2, 0x61, 0xe2, 0xd0, 0xe4, 0xb2, 0xe2, 0x5b, 0xb0, 0x91, 0xeb, 0x0f,
|
||||
0x84, 0x71, 0xd2, 0x93, 0xfc, 0x3a, 0xf0, 0xe5, 0x36, 0x7a, 0x5a, 0x61, 0xbf, 0xa1, 0xa1, 0xb1,
|
||||
0xf6, 0x50, 0xd8, 0x0a, 0xfa, 0x6d, 0xc0, 0x77, 0xe0, 0xc6, 0xfc, 0x68, 0x15, 0xfe, 0xbb, 0x80,
|
||||
0x6f, 0x42, 0x87, 0x8e, 0x56, 0x62, 0x96, 0xfd, 0xde, 0x83, 0x74, 0x88, 0x1a, 0xf8, 0x07, 0xcf,
|
||||
0x50, 0x9c, 0xa2, 0x86, 0xff, 0xd1, 0x3b, 0x23, 0x86, 0xa2, 0xea, 0x96, 0xbd, 0x1b, 0x50, 0xa4,
|
||||
0x73, 0x67, 0x05, 0xcc, 0xde, 0xf3, 0x8a, 0xc4, 0x5a, 0x2a, 0xbe, 0xef, 0x15, 0x0b, 0xce, 0x12,
|
||||
0xfd, 0xc0, 0xa3, 0x0f, 0x85, 0x8a, 0xf5, 0xe5, 0x65, 0x89, 0x7e, 0x18, 0xf0, 0x5d, 0xd8, 0x24,
|
||||
0xf3, 0xae, 0x48, 0x84, 0x8a, 0x2a, 0xfd, 0x8f, 0x02, 0xbe, 0x0d, 0xec, 0xff, 0xdc, 0x59, 0xf6,
|
||||
0x76, 0x83, 0xb3, 0x79, 0x7e, 0x7d, 0xb3, 0xb3, 0xef, 0x35, 0x7c, 0xae, 0x0a, 0xc5, 0x1c, 0xfb,
|
||||
0x7e, 0x83, 0x77, 0xf2, 0xa4, 0xe7, 0xf2, 0x0f, 0x1a, 0x7c, 0x15, 0x96, 0xfa, 0xca, 0xa2, 0x71,
|
||||
0xec, 0x5b, 0xd4, 0x90, 0x4b, 0xf9, 0x2c, 0x60, 0xdf, 0xa6, 0xb6, 0x5f, 0xf4, 0x0d, 0xc9, 0xde,
|
||||
0xf1, 0x1b, 0xf9, 0xd4, 0x62, 0xff, 0x68, 0xfa, 0x0c, 0xd4, 0x47, 0xd8, 0x3f, 0x9b, 0xe4, 0xe9,
|
||||
0x04, 0x5d, 0x75, 0xcb, 0xd8, 0xbf, 0x9a, 0xfc, 0x16, 0x6c, 0xcf, 0x31, 0x3f, 0x50, 0xca, 0xfb,
|
||||
0xf5, 0xef, 0x26, 0xdf, 0x83, 0x9b, 0x27, 0xe8, 0xaa, 0xf6, 0x20, 0x23, 0x69, 0x9d, 0x8c, 0x2c,
|
||||
0xfb, 0x4f, 0x93, 0xdf, 0x86, 0x9d, 0x13, 0x74, 0x65, 0xda, 0x6b, 0x9b, 0xff, 0x6d, 0xf2, 0x75,
|
||||
0x58, 0x19, 0xd2, 0xc4, 0xc1, 0x2b, 0x64, 0xef, 0x36, 0xa9, 0x76, 0x73, 0xb1, 0x08, 0xe7, 0xbd,
|
||||
0x26, 0x65, 0xf4, 0x4d, 0xe1, 0xa2, 0x49, 0x98, 0xf6, 0x26, 0x42, 0x29, 0x4c, 0x2c, 0x7b, 0xbf,
|
||||
0x49, 0x79, 0x1b, 0x62, 0xaa, 0xaf, 0xb0, 0x06, 0x7f, 0x40, 0x2f, 0x09, 0xf7, 0xca, 0x5f, 0xce,
|
||||
0xd0, 0xcc, 0xca, 0x8d, 0x0f, 0x9b, 0x54, 0x81, 0x5c, 0xff, 0xd5, 0x9d, 0x8f, 0x9a, 0xfc, 0x33,
|
||||
0xb0, 0x9b, 0x5f, 0xe2, 0x79, 0xfe, 0x69, 0x73, 0x8c, 0x7d, 0x75, 0xa9, 0xd9, 0xdb, 0xad, 0x92,
|
||||
0x31, 0xc4, 0xc4, 0x89, 0xd2, 0xee, 0x9b, 0x2d, 0x2a, 0x51, 0x61, 0xe1, 0x55, 0xff, 0xd4, 0xe2,
|
||||
0x1b, 0x00, 0xf9, 0x95, 0xf2, 0xc0, 0x9f, 0x5b, 0x14, 0xfa, 0x09, 0x3a, 0x7a, 0x4a, 0xae, 0xd0,
|
||||
0xcc, 0x3c, 0xfa, 0x97, 0x39, 0x5a, 0x9f, 0x34, 0xec, 0xaf, 0x2d, 0x4a, 0xc5, 0xb9, 0x4c, 0xf1,
|
||||
0x5c, 0x46, 0x2f, 0xd8, 0x0f, 0xdb, 0x94, 0x0a, 0x1f, 0xe9, 0x99, 0x8e, 0x91, 0x74, 0x2c, 0xfb,
|
||||
0x51, 0x9b, 0xea, 0x4d, 0x6d, 0x94, 0xd7, 0xfb, 0xc7, 0x5e, 0x2e, 0x86, 0x65, 0x3f, 0x64, 0x3f,
|
||||
0xa1, 0x27, 0x0d, 0x0a, 0xf9, 0x7c, 0xf4, 0x84, 0xfd, 0xb4, 0x4d, 0xae, 0x0e, 0x93, 0x44, 0x47,
|
||||
0xc2, 0x95, 0xcd, 0xfc, 0xb3, 0x36, 0xdd, 0x86, 0x9a, 0xf7, 0xa2, 0x1a, 0x3f, 0x6f, 0x53, 0x4e,
|
||||
0x0b, 0xdc, 0xf7, 0x4a, 0x48, 0xf3, 0xef, 0x17, 0x9e, 0x95, 0x7e, 0x6a, 0x14, 0xc9, 0xb9, 0x63,
|
||||
0xbf, 0x6c, 0x1f, 0xec, 0xc3, 0x72, 0x68, 0x13, 0x3f, 0xc1, 0x96, 0xa1, 0x19, 0xda, 0x84, 0x2d,
|
||||
0xd0, 0x85, 0xef, 0x6a, 0x9d, 0x1c, 0x5d, 0x4f, 0xcd, 0xb3, 0xcf, 0xb3, 0xe0, 0xa0, 0x0b, 0x1b,
|
||||
0x3d, 0x9d, 0x4e, 0x45, 0xd9, 0x11, 0x7e, 0x68, 0xe5, 0xd3, 0x0e, 0xe3, 0xfc, 0xd4, 0x0b, 0x34,
|
||||
0x35, 0x8e, 0xae, 0x31, 0xca, 0x1c, 0x0d, 0xca, 0x80, 0x44, 0x32, 0xa2, 0xa6, 0x8d, 0x59, 0xe3,
|
||||
0xe0, 0x2d, 0x60, 0x3d, 0xad, 0xac, 0xb4, 0x0e, 0x55, 0x34, 0x7b, 0x8c, 0x57, 0x98, 0xf8, 0x91,
|
||||
0xeb, 0x8c, 0x56, 0x63, 0xb6, 0xe0, 0x7f, 0x20, 0xe8, 0x7f, 0x12, 0xf9, 0x60, 0xee, 0xd2, 0x2b,
|
||||
0xe2, 0xbf, 0x19, 0x1d, 0x80, 0xa3, 0x2b, 0x54, 0x2e, 0x13, 0x49, 0x32, 0x63, 0x4d, 0x92, 0x7b,
|
||||
0x99, 0x75, 0x3a, 0x95, 0xdf, 0xf0, 0x93, 0xff, 0x3b, 0x01, 0xac, 0xe6, 0x6f, 0x53, 0x19, 0x5a,
|
||||
0x2e, 0x0e, 0x50, 0xc5, 0xd2, 0x93, 0xd3, 0x2b, 0xe9, 0xa1, 0xe2, 0xb9, 0x08, 0x2a, 0xa5, 0x91,
|
||||
0x13, 0xc6, 0xcd, 0xbf, 0x33, 0x39, 0x14, 0xea, 0x97, 0x2a, 0xd1, 0x22, 0xf6, 0x4f, 0x41, 0x69,
|
||||
0x3a, 0x10, 0xc6, 0xfa, 0xf7, 0x80, 0x3e, 0x11, 0x05, 0xbf, 0xf1, 0xe7, 0x89, 0xd9, 0x62, 0x05,
|
||||
0x56, 0x67, 0x5e, 0xea, 0xbe, 0x09, 0x1d, 0xa9, 0xe7, 0x3f, 0xb5, 0xb1, 0x99, 0x46, 0xdd, 0xd5,
|
||||
0x9e, 0xff, 0xa9, 0x0d, 0xe8, 0xd7, 0x36, 0x08, 0xbe, 0xf2, 0x60, 0x2c, 0xdd, 0x24, 0xbb, 0xa0,
|
||||
0xff, 0xdb, 0xfd, 0x5c, 0xed, 0x75, 0xa9, 0x8b, 0xd5, 0x7d, 0xa9, 0x1c, 0x1a, 0x25, 0x92, 0xfb,
|
||||
0xfe, 0x8f, 0x77, 0x3f, 0xff, 0xe3, 0x4d, 0x2f, 0xbe, 0x1b, 0x04, 0x17, 0x4b, 0x1e, 0x7a, 0xf0,
|
||||
0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x2a, 0xbb, 0x0b, 0x37, 0x0c, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -420,8 +420,8 @@ message DropVirtualChannelResponse {
|
|||
|
||||
message ImportTask {
|
||||
common.Status status = 1;
|
||||
string collection_name = 2; // target collection
|
||||
string partition_name = 3; // target partition
|
||||
int64 collection_id = 2; // target collection ID
|
||||
int64 partition_id = 3; // target partition ID
|
||||
bool row_based = 4; // the file is row-based or column-based
|
||||
int64 task_id = 5; // id of the task
|
||||
repeated string files = 6; // file paths to be imported
|
||||
|
@ -440,13 +440,13 @@ message ImportTaskInfo {
|
|||
int64 id = 1; // Task ID.
|
||||
int64 request_id = 2; // Request ID of the import task.
|
||||
int64 datanode_id = 3; // ID of DataNode that processes the task.
|
||||
string collection_id = 4; // Collection ID for the import task.
|
||||
string partition_id = 5; // Partition ID for the import task.
|
||||
int64 collection_id = 4; // Collection ID for the import task.
|
||||
int64 partition_id = 5; // Partition ID for the import task.
|
||||
string bucket = 6; // Bucket for the import task.
|
||||
bool row_based = 7; // Boolean indicating whether import files are row-based or column-based.
|
||||
repeated string files = 8; // A list of files to import.
|
||||
int64 create_ts = 9; // Timestamp when the import task is created.
|
||||
ImportTaskState state = 10; // State of the import task.
|
||||
ImportTaskState state = 10; // State of the import task.
|
||||
}
|
||||
|
||||
message ImportTaskResponse {
|
||||
|
|
|
@ -3115,8 +3115,8 @@ func (m *DropVirtualChannelResponse) GetStatus() *commonpb.Status {
|
|||
|
||||
type ImportTask struct {
|
||||
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
|
||||
CollectionName string `protobuf:"bytes,2,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
|
||||
PartitionName string `protobuf:"bytes,3,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"`
|
||||
CollectionId int64 `protobuf:"varint,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
|
||||
PartitionId int64 `protobuf:"varint,3,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"`
|
||||
RowBased bool `protobuf:"varint,4,opt,name=row_based,json=rowBased,proto3" json:"row_based,omitempty"`
|
||||
TaskId int64 `protobuf:"varint,5,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
|
||||
Files []string `protobuf:"bytes,6,rep,name=files,proto3" json:"files,omitempty"`
|
||||
|
@ -3158,18 +3158,18 @@ func (m *ImportTask) GetStatus() *commonpb.Status {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *ImportTask) GetCollectionName() string {
|
||||
func (m *ImportTask) GetCollectionId() int64 {
|
||||
if m != nil {
|
||||
return m.CollectionName
|
||||
return m.CollectionId
|
||||
}
|
||||
return ""
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ImportTask) GetPartitionName() string {
|
||||
func (m *ImportTask) GetPartitionId() int64 {
|
||||
if m != nil {
|
||||
return m.PartitionName
|
||||
return m.PartitionId
|
||||
}
|
||||
return ""
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ImportTask) GetRowBased() bool {
|
||||
|
@ -3275,8 +3275,8 @@ type ImportTaskInfo struct {
|
|||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
RequestId int64 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
||||
DatanodeId int64 `protobuf:"varint,3,opt,name=datanode_id,json=datanodeId,proto3" json:"datanode_id,omitempty"`
|
||||
CollectionId string `protobuf:"bytes,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
|
||||
PartitionId string `protobuf:"bytes,5,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"`
|
||||
CollectionId int64 `protobuf:"varint,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
|
||||
PartitionId int64 `protobuf:"varint,5,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"`
|
||||
Bucket string `protobuf:"bytes,6,opt,name=bucket,proto3" json:"bucket,omitempty"`
|
||||
RowBased bool `protobuf:"varint,7,opt,name=row_based,json=rowBased,proto3" json:"row_based,omitempty"`
|
||||
Files []string `protobuf:"bytes,8,rep,name=files,proto3" json:"files,omitempty"`
|
||||
|
@ -3333,18 +3333,18 @@ func (m *ImportTaskInfo) GetDatanodeId() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (m *ImportTaskInfo) GetCollectionId() string {
|
||||
func (m *ImportTaskInfo) GetCollectionId() int64 {
|
||||
if m != nil {
|
||||
return m.CollectionId
|
||||
}
|
||||
return ""
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ImportTaskInfo) GetPartitionId() string {
|
||||
func (m *ImportTaskInfo) GetPartitionId() int64 {
|
||||
if m != nil {
|
||||
return m.PartitionId
|
||||
}
|
||||
return ""
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ImportTaskInfo) GetBucket() string {
|
||||
|
@ -3491,210 +3491,209 @@ func init() {
|
|||
func init() { proto.RegisterFile("data_coord.proto", fileDescriptor_82cd95f524594f49) }
|
||||
|
||||
var fileDescriptor_82cd95f524594f49 = []byte{
|
||||
// 3241 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1b, 0x5d, 0x6f, 0x1c, 0x57,
|
||||
0x35, 0xb3, 0xdf, 0x7b, 0xf6, 0xc3, 0x9b, 0x9b, 0x34, 0xd9, 0x6c, 0x12, 0xc7, 0x99, 0x36, 0x89,
|
||||
0x9b, 0xa6, 0x49, 0xeb, 0x50, 0xb5, 0xa2, 0x5f, 0xaa, 0xed, 0xda, 0x5d, 0x61, 0x07, 0x77, 0xec,
|
||||
0xb6, 0x88, 0x22, 0x56, 0xe3, 0x9d, 0xeb, 0xf5, 0xd4, 0xf3, 0xb1, 0x9d, 0x3b, 0x1b, 0x27, 0x7d,
|
||||
0x69, 0x44, 0x25, 0x24, 0x50, 0x55, 0x40, 0x48, 0x48, 0x48, 0x08, 0x21, 0x9e, 0x40, 0xbc, 0xc0,
|
||||
0x23, 0x20, 0xde, 0xab, 0xf2, 0x2f, 0x78, 0xe1, 0x8d, 0xdf, 0x80, 0xee, 0xc7, 0xdc, 0xf9, 0xd8,
|
||||
0xd9, 0xdd, 0xb1, 0x9d, 0x34, 0x6f, 0xbe, 0x67, 0xce, 0x39, 0xf7, 0xdc, 0x73, 0xcf, 0xf7, 0x5e,
|
||||
0x43, 0xcb, 0xd0, 0x7d, 0xbd, 0xd7, 0x77, 0x5d, 0xcf, 0xb8, 0x3d, 0xf4, 0x5c, 0xdf, 0x45, 0xa7,
|
||||
0x6d, 0xd3, 0xba, 0x3f, 0x22, 0x7c, 0x75, 0x9b, 0x7e, 0xee, 0xd4, 0xfb, 0xae, 0x6d, 0xbb, 0x0e,
|
||||
0x07, 0x75, 0x9a, 0xa6, 0xe3, 0x63, 0xcf, 0xd1, 0x2d, 0xb1, 0xae, 0x47, 0x09, 0x3a, 0x75, 0xd2,
|
||||
0xdf, 0xc7, 0xb6, 0xce, 0x57, 0xea, 0x03, 0xa8, 0xaf, 0x59, 0x23, 0xb2, 0xaf, 0xe1, 0x4f, 0x47,
|
||||
0x98, 0xf8, 0xe8, 0x25, 0x28, 0xec, 0xea, 0x04, 0xb7, 0x95, 0x05, 0x65, 0xb1, 0xb6, 0x74, 0xe9,
|
||||
0x76, 0x6c, 0x2f, 0xb1, 0xcb, 0x26, 0x19, 0x2c, 0xeb, 0x04, 0x6b, 0x0c, 0x13, 0x21, 0x28, 0x18,
|
||||
0xbb, 0xdd, 0xd5, 0x76, 0x6e, 0x41, 0x59, 0xcc, 0x6b, 0xec, 0x6f, 0xa4, 0x42, 0xbd, 0xef, 0x5a,
|
||||
0x16, 0xee, 0xfb, 0xa6, 0xeb, 0x74, 0x57, 0xdb, 0x05, 0xf6, 0x2d, 0x06, 0x53, 0x7f, 0xa7, 0x40,
|
||||
0x43, 0x6c, 0x4d, 0x86, 0xae, 0x43, 0x30, 0xba, 0x0b, 0x25, 0xe2, 0xeb, 0xfe, 0x88, 0x88, 0xdd,
|
||||
0x2f, 0xa6, 0xee, 0xbe, 0xcd, 0x50, 0x34, 0x81, 0x9a, 0x69, 0xfb, 0xfc, 0xf8, 0xf6, 0x68, 0x1e,
|
||||
0x80, 0xe0, 0x81, 0x8d, 0x1d, 0xbf, 0xbb, 0x4a, 0xda, 0x85, 0x85, 0xfc, 0x62, 0x5e, 0x8b, 0x40,
|
||||
0xd4, 0x5f, 0x29, 0xd0, 0xda, 0x0e, 0x96, 0x81, 0x76, 0xce, 0x42, 0xb1, 0xef, 0x8e, 0x1c, 0x9f,
|
||||
0x09, 0xd8, 0xd0, 0xf8, 0x02, 0x5d, 0x85, 0x7a, 0x7f, 0x5f, 0x77, 0x1c, 0x6c, 0xf5, 0x1c, 0xdd,
|
||||
0xc6, 0x4c, 0x94, 0xaa, 0x56, 0x13, 0xb0, 0x7b, 0xba, 0x8d, 0x33, 0x49, 0xb4, 0x00, 0xb5, 0xa1,
|
||||
0xee, 0xf9, 0x66, 0x4c, 0x67, 0x51, 0x90, 0xfa, 0x07, 0x05, 0xce, 0xbd, 0x43, 0x88, 0x39, 0x70,
|
||||
0xc6, 0x24, 0x3b, 0x07, 0x25, 0xc7, 0x35, 0x70, 0x77, 0x95, 0x89, 0x96, 0xd7, 0xc4, 0x0a, 0x5d,
|
||||
0x84, 0xea, 0x10, 0x63, 0xaf, 0xe7, 0xb9, 0x56, 0x20, 0x58, 0x85, 0x02, 0x34, 0xd7, 0xc2, 0xe8,
|
||||
0x7d, 0x38, 0x4d, 0x12, 0x8c, 0x48, 0x3b, 0xbf, 0x90, 0x5f, 0xac, 0x2d, 0x3d, 0x7b, 0x7b, 0xcc,
|
||||
0xca, 0x6e, 0x27, 0x37, 0xd5, 0xc6, 0xa9, 0xd5, 0x47, 0x39, 0x38, 0x23, 0xf1, 0xb8, 0xac, 0xf4,
|
||||
0x6f, 0xaa, 0x39, 0x82, 0x07, 0x52, 0x3c, 0xbe, 0xc8, 0xa2, 0x39, 0xa9, 0xf2, 0x7c, 0x54, 0xe5,
|
||||
0x19, 0x0c, 0x2c, 0xa9, 0xcf, 0xe2, 0x98, 0x3e, 0xd1, 0x15, 0xa8, 0xe1, 0x07, 0x43, 0xd3, 0xc3,
|
||||
0x3d, 0xdf, 0xb4, 0x71, 0xbb, 0xb4, 0xa0, 0x2c, 0x16, 0x34, 0xe0, 0xa0, 0x1d, 0xd3, 0x8e, 0x5a,
|
||||
0x64, 0x39, 0xb3, 0x45, 0xaa, 0x7f, 0x54, 0xe0, 0xfc, 0xd8, 0x2d, 0x09, 0x13, 0xd7, 0xa0, 0xc5,
|
||||
0x4e, 0x1e, 0x6a, 0x86, 0x1a, 0x3b, 0x55, 0xf8, 0xf5, 0x69, 0x0a, 0x0f, 0xd1, 0xb5, 0x31, 0xfa,
|
||||
0x88, 0x90, 0xb9, 0xec, 0x42, 0x1e, 0xc0, 0xf9, 0x75, 0xec, 0x8b, 0x0d, 0xe8, 0x37, 0x4c, 0x8e,
|
||||
0x1f, 0x02, 0xe2, 0xbe, 0x94, 0x1b, 0xf3, 0xa5, 0xbf, 0xe6, 0xa4, 0x2f, 0xb1, 0xad, 0xba, 0xce,
|
||||
0x9e, 0x8b, 0x2e, 0x41, 0x55, 0xa2, 0x08, 0xab, 0x08, 0x01, 0xe8, 0x55, 0x28, 0x52, 0x49, 0xb9,
|
||||
0x49, 0x34, 0x97, 0xae, 0xa6, 0x9f, 0x29, 0xc2, 0x53, 0xe3, 0xf8, 0xa8, 0x0b, 0x4d, 0xe2, 0xeb,
|
||||
0x9e, 0xdf, 0x1b, 0xba, 0x84, 0xdd, 0x33, 0x33, 0x9c, 0xda, 0x92, 0x1a, 0xe7, 0x20, 0x43, 0xe4,
|
||||
0x26, 0x19, 0x6c, 0x09, 0x4c, 0xad, 0xc1, 0x28, 0x83, 0x25, 0x7a, 0x17, 0xea, 0xd8, 0x31, 0x42,
|
||||
0x46, 0x85, 0xcc, 0x8c, 0x6a, 0xd8, 0x31, 0x24, 0x9b, 0xf0, 0x7e, 0x8a, 0xd9, 0xef, 0xe7, 0x4b,
|
||||
0x05, 0xda, 0xe3, 0x17, 0x74, 0x92, 0x40, 0xf9, 0x3a, 0x27, 0xc2, 0xfc, 0x82, 0xa6, 0x7a, 0xb8,
|
||||
0xbc, 0x24, 0x4d, 0x90, 0xa8, 0x26, 0x3c, 0x13, 0x4a, 0xc3, 0xbe, 0x3c, 0x31, 0x63, 0xf9, 0x42,
|
||||
0x81, 0x73, 0xc9, 0xbd, 0x4e, 0x72, 0xee, 0xef, 0x40, 0xd1, 0x74, 0xf6, 0xdc, 0xe0, 0xd8, 0xf3,
|
||||
0x53, 0xfc, 0x8c, 0xee, 0xc5, 0x91, 0x55, 0x1b, 0x2e, 0xae, 0x63, 0xbf, 0xeb, 0x10, 0xec, 0xf9,
|
||||
0xcb, 0xa6, 0x63, 0xb9, 0x83, 0x2d, 0xdd, 0xdf, 0x3f, 0x81, 0x8f, 0xc4, 0xcc, 0x3d, 0x97, 0x30,
|
||||
0x77, 0xf5, 0x4f, 0x0a, 0x5c, 0x4a, 0xdf, 0x4f, 0x1c, 0xbd, 0x03, 0x95, 0x3d, 0x13, 0x5b, 0x06,
|
||||
0xd5, 0x99, 0xc2, 0x74, 0x26, 0xd7, 0xd4, 0x57, 0x86, 0x14, 0x59, 0x9c, 0xf0, 0xea, 0x04, 0x03,
|
||||
0xdd, 0xf6, 0x3d, 0xd3, 0x19, 0x6c, 0x98, 0xc4, 0xd7, 0x38, 0x7e, 0x44, 0x9f, 0xf9, 0xec, 0x96,
|
||||
0xf9, 0x73, 0x05, 0xe6, 0xd7, 0xb1, 0xbf, 0x22, 0x43, 0x2d, 0xfd, 0x6e, 0x12, 0xdf, 0xec, 0x93,
|
||||
0x27, 0x5b, 0x44, 0xa4, 0xe4, 0x4c, 0xf5, 0x17, 0x0a, 0x5c, 0x99, 0x28, 0x8c, 0x50, 0x9d, 0x08,
|
||||
0x25, 0x41, 0xa0, 0x4d, 0x0f, 0x25, 0xdf, 0xc3, 0x0f, 0x3f, 0xd4, 0xad, 0x11, 0xde, 0xd2, 0x4d,
|
||||
0x8f, 0x87, 0x92, 0x63, 0x06, 0xd6, 0xbf, 0x28, 0x70, 0x79, 0x1d, 0xfb, 0x5b, 0x41, 0x9a, 0x79,
|
||||
0x8a, 0xda, 0xc9, 0x50, 0x51, 0x7c, 0xc5, 0x2f, 0x33, 0x55, 0xda, 0xa7, 0xa2, 0xbe, 0x79, 0xe6,
|
||||
0x07, 0x11, 0x87, 0x5c, 0xe1, 0xb5, 0x80, 0x50, 0x9e, 0xfa, 0x28, 0x0f, 0xf5, 0x0f, 0x45, 0x7d,
|
||||
0xc0, 0xd2, 0x48, 0x52, 0x0f, 0x4a, 0xba, 0x1e, 0x22, 0x25, 0x45, 0x5a, 0x95, 0xb1, 0x0e, 0x0d,
|
||||
0x82, 0xf1, 0xc1, 0x71, 0x92, 0x46, 0x9d, 0x12, 0xca, 0x60, 0xbf, 0x01, 0xa7, 0x47, 0xce, 0x1e,
|
||||
0x2d, 0x6b, 0xb1, 0x21, 0x4e, 0xc1, 0xab, 0xcb, 0xd9, 0x91, 0x67, 0x9c, 0x10, 0xbd, 0x07, 0x73,
|
||||
0x49, 0x5e, 0xc5, 0x4c, 0xbc, 0x92, 0x64, 0xa8, 0x0b, 0x2d, 0xc3, 0x73, 0x87, 0x43, 0x6c, 0xf4,
|
||||
0x48, 0xc0, 0xaa, 0x94, 0x8d, 0x95, 0xa0, 0x0b, 0x58, 0xa9, 0x3f, 0x53, 0xe0, 0xdc, 0x47, 0xba,
|
||||
0xdf, 0xdf, 0x5f, 0xb5, 0xc5, 0xe5, 0x9c, 0xc0, 0xb4, 0xdf, 0x84, 0xea, 0x7d, 0x71, 0x11, 0x41,
|
||||
0xfc, 0xba, 0x92, 0x22, 0x50, 0xf4, 0xca, 0xb5, 0x90, 0x42, 0xfd, 0x5a, 0x81, 0xb3, 0xac, 0x89,
|
||||
0x08, 0xa4, 0xfb, 0xf6, 0x9d, 0x6c, 0x46, 0x23, 0x81, 0xae, 0x43, 0xd3, 0xd6, 0xbd, 0x83, 0xed,
|
||||
0x10, 0xa7, 0xc8, 0x70, 0x12, 0x50, 0xf5, 0x01, 0x80, 0x58, 0x6d, 0x92, 0xc1, 0x31, 0xe4, 0x7f,
|
||||
0x0d, 0xca, 0x62, 0x57, 0xe1, 0x6f, 0xb3, 0x2e, 0x36, 0x40, 0x57, 0xbf, 0x51, 0xa0, 0x19, 0x46,
|
||||
0x50, 0xe6, 0x55, 0x4d, 0xc8, 0x49, 0x5f, 0xca, 0x75, 0x57, 0xd1, 0x9b, 0x50, 0xe2, 0x6d, 0xa3,
|
||||
0xe0, 0x7d, 0x2d, 0xce, 0x5b, 0xb4, 0x94, 0x91, 0x30, 0xcc, 0x00, 0x9a, 0x20, 0xa2, 0x3a, 0x92,
|
||||
0x51, 0x87, 0x77, 0x18, 0x79, 0x2d, 0x02, 0x41, 0x5d, 0x98, 0x8b, 0x17, 0x6d, 0x81, 0xcf, 0x2c,
|
||||
0x4c, 0x8a, 0x36, 0xab, 0xba, 0xaf, 0xb3, 0x60, 0xd3, 0x8c, 0xd5, 0x6c, 0x44, 0xfd, 0x5f, 0x11,
|
||||
0x6a, 0x91, 0x53, 0x8e, 0x9d, 0x24, 0x79, 0xa5, 0xb9, 0xd9, 0x71, 0x33, 0x3f, 0xde, 0x39, 0x5c,
|
||||
0x83, 0xa6, 0xc9, 0x72, 0x75, 0x4f, 0x98, 0x22, 0x0b, 0xae, 0x55, 0xad, 0xc1, 0xa1, 0xc2, 0x2f,
|
||||
0xd0, 0x3c, 0xd4, 0x9c, 0x91, 0xdd, 0x73, 0xf7, 0x7a, 0x9e, 0x7b, 0x48, 0x44, 0x0b, 0x52, 0x75,
|
||||
0x46, 0xf6, 0xf7, 0xf7, 0x34, 0xf7, 0x90, 0x84, 0x55, 0x6e, 0xe9, 0x88, 0x55, 0xee, 0x3c, 0xd4,
|
||||
0x6c, 0xfd, 0x01, 0xe5, 0xda, 0x73, 0x46, 0x36, 0xeb, 0x4e, 0xf2, 0x5a, 0xd5, 0xd6, 0x1f, 0x68,
|
||||
0xee, 0xe1, 0xbd, 0x91, 0x8d, 0x16, 0xa1, 0x65, 0xe9, 0xc4, 0xef, 0x45, 0xdb, 0x9b, 0x0a, 0x6b,
|
||||
0x6f, 0x9a, 0x14, 0xfe, 0x6e, 0xd8, 0xe2, 0x8c, 0xd7, 0xcb, 0xd5, 0x13, 0xd4, 0xcb, 0x86, 0x6d,
|
||||
0x85, 0x8c, 0x20, 0x7b, 0xbd, 0x6c, 0xd8, 0x96, 0x64, 0xf3, 0x1a, 0x94, 0x77, 0x59, 0x05, 0x44,
|
||||
0xda, 0xb5, 0x89, 0x11, 0x6a, 0x8d, 0x16, 0x3f, 0xbc, 0x50, 0xd2, 0x02, 0x74, 0xf4, 0x06, 0x54,
|
||||
0x59, 0xea, 0x61, 0xb4, 0xf5, 0x4c, 0xb4, 0x21, 0x01, 0xa5, 0x36, 0xb0, 0xe5, 0xeb, 0x8c, 0xba,
|
||||
0x91, 0x8d, 0x5a, 0x12, 0xa0, 0x97, 0xe0, 0x4c, 0xdf, 0xc3, 0xba, 0x8f, 0x8d, 0xe5, 0x87, 0x2b,
|
||||
0xae, 0x3d, 0xd4, 0x99, 0x31, 0xb5, 0x9b, 0x0b, 0xca, 0x62, 0x45, 0x4b, 0xfb, 0x44, 0x03, 0x43,
|
||||
0x5f, 0xae, 0xd6, 0x3c, 0xd7, 0x6e, 0xcf, 0xf1, 0xc0, 0x10, 0x87, 0xa2, 0xcb, 0x00, 0x41, 0xe8,
|
||||
0xd6, 0xfd, 0x76, 0x8b, 0xdd, 0x62, 0x55, 0x40, 0xde, 0xf1, 0xd5, 0xcf, 0xe1, 0x6c, 0x68, 0x21,
|
||||
0x91, 0xdb, 0x18, 0xbf, 0x58, 0xe5, 0xb8, 0x17, 0x3b, 0xbd, 0x76, 0xfd, 0x5b, 0x01, 0xce, 0x6d,
|
||||
0xeb, 0xf7, 0xf1, 0x93, 0x2f, 0x93, 0x33, 0xc5, 0xe3, 0x0d, 0x38, 0xcd, 0x2a, 0xe3, 0xa5, 0x88,
|
||||
0x3c, 0x53, 0x32, 0x70, 0xf4, 0x3a, 0xc7, 0x09, 0xd1, 0xdb, 0xb4, 0x74, 0xc0, 0xfd, 0x83, 0x2d,
|
||||
0xd7, 0x0c, 0xb3, 0xef, 0xe5, 0x14, 0x3e, 0x2b, 0x12, 0x4b, 0x8b, 0x52, 0xa0, 0xad, 0xf1, 0xd0,
|
||||
0xc6, 0xf3, 0xee, 0x8d, 0xa9, 0xfd, 0x57, 0xa8, 0xfd, 0x64, 0x84, 0x43, 0x6d, 0x28, 0x8b, 0xec,
|
||||
0xce, 0xfc, 0xbe, 0xa2, 0x05, 0x4b, 0xb4, 0x05, 0x67, 0xf8, 0x09, 0xb6, 0x85, 0x51, 0xf3, 0xc3,
|
||||
0x57, 0x32, 0x1d, 0x3e, 0x8d, 0x34, 0xee, 0x13, 0xd5, 0xa3, 0xfa, 0x44, 0x1b, 0xca, 0xc2, 0x4e,
|
||||
0x59, 0x2c, 0xa8, 0x68, 0xc1, 0x92, 0x36, 0x11, 0x10, 0x6a, 0x6c, 0xc6, 0x2c, 0xe0, 0x2d, 0xa8,
|
||||
0x48, 0x1b, 0xce, 0x65, 0xb6, 0x61, 0x49, 0x93, 0x8c, 0xc2, 0xf9, 0x44, 0x14, 0x56, 0xff, 0xad,
|
||||
0x40, 0x7d, 0x95, 0x0a, 0xbd, 0xe1, 0x0e, 0x58, 0xce, 0xb8, 0x06, 0x4d, 0x0f, 0xf7, 0x5d, 0xcf,
|
||||
0xe8, 0x61, 0xc7, 0xf7, 0x4c, 0xcc, 0xfb, 0xcd, 0x82, 0xd6, 0xe0, 0xd0, 0x77, 0x39, 0x90, 0xa2,
|
||||
0xd1, 0xc0, 0x4a, 0x7c, 0xdd, 0x1e, 0xf6, 0xf6, 0xa8, 0x03, 0xe7, 0x38, 0x9a, 0x84, 0x32, 0xff,
|
||||
0xbd, 0x0a, 0xf5, 0x10, 0xcd, 0x77, 0xd9, 0xfe, 0x05, 0xad, 0x26, 0x61, 0x3b, 0x2e, 0x7a, 0x0e,
|
||||
0x9a, 0x4c, 0x6b, 0x3d, 0xcb, 0x1d, 0xf4, 0x68, 0x6f, 0x26, 0xd2, 0x49, 0xdd, 0x10, 0x62, 0xd1,
|
||||
0xdb, 0x88, 0x63, 0x11, 0xf3, 0x33, 0x2c, 0x12, 0x8a, 0xc4, 0xda, 0x36, 0x3f, 0xc3, 0x34, 0x9b,
|
||||
0x37, 0x68, 0x76, 0xbc, 0xe7, 0x1a, 0x78, 0xe7, 0x98, 0xb5, 0x44, 0x86, 0xb9, 0xdc, 0x25, 0xa8,
|
||||
0xca, 0x13, 0x88, 0x23, 0x85, 0x00, 0xb4, 0x06, 0xcd, 0xa0, 0xcc, 0xec, 0xf1, 0xee, 0xa1, 0x30,
|
||||
0xb1, 0xb6, 0x8b, 0xe4, 0x37, 0xa2, 0x35, 0x02, 0x32, 0xb6, 0x54, 0xd7, 0xa0, 0x1e, 0xfd, 0x4c,
|
||||
0x77, 0xdd, 0x4e, 0x1a, 0x8a, 0x04, 0x50, 0x7b, 0xbb, 0x37, 0xb2, 0xe9, 0x9d, 0x8a, 0xd0, 0x11,
|
||||
0x2c, 0xd5, 0x2f, 0x14, 0x68, 0x88, 0xa4, 0xbc, 0x2d, 0xe7, 0xc6, 0xec, 0x68, 0x0a, 0x3b, 0x1a,
|
||||
0xfb, 0x1b, 0x7d, 0x37, 0x3e, 0x74, 0x7a, 0x2e, 0xd5, 0xcd, 0x19, 0x13, 0x56, 0xff, 0xc6, 0x32,
|
||||
0x72, 0x96, 0x6e, 0xf5, 0x11, 0x35, 0x34, 0x71, 0x35, 0xcc, 0xd0, 0xda, 0x50, 0xd6, 0x0d, 0xc3,
|
||||
0xc3, 0x84, 0x08, 0x39, 0x82, 0x25, 0xfd, 0x72, 0x1f, 0x7b, 0x24, 0x30, 0xf9, 0xbc, 0x16, 0x2c,
|
||||
0xd1, 0x1b, 0x50, 0x91, 0x05, 0x73, 0x3e, 0xad, 0x48, 0x8a, 0xca, 0x29, 0xba, 0x2b, 0x49, 0xa1,
|
||||
0x7e, 0x95, 0x83, 0xa6, 0x50, 0xd8, 0xb2, 0xc8, 0x9a, 0xd3, 0x9d, 0x6f, 0x19, 0xea, 0x7b, 0xa1,
|
||||
0x77, 0x4f, 0x9b, 0xa2, 0x44, 0x83, 0x40, 0x8c, 0x66, 0x96, 0x03, 0xc6, 0xf3, 0x76, 0xe1, 0x44,
|
||||
0x79, 0xbb, 0x78, 0xc4, 0x18, 0xa5, 0xfe, 0x08, 0x6a, 0x91, 0x2f, 0x2c, 0xb8, 0xf2, 0xb9, 0x8a,
|
||||
0x50, 0x45, 0xb0, 0x44, 0x77, 0xc3, 0xb2, 0x84, 0xeb, 0xe0, 0x42, 0xca, 0x26, 0x89, 0x8a, 0x44,
|
||||
0xfd, 0xb3, 0x02, 0x25, 0xc1, 0xf9, 0x0a, 0xd4, 0x44, 0x34, 0x61, 0x25, 0x1b, 0xe7, 0x0e, 0x02,
|
||||
0x44, 0x6b, 0xb6, 0xc7, 0x17, 0x4e, 0x2e, 0x40, 0x25, 0x11, 0x48, 0xca, 0x22, 0xa2, 0x07, 0x9f,
|
||||
0x22, 0xd1, 0x83, 0x7e, 0x62, 0x81, 0xe3, 0x6b, 0x85, 0xcd, 0x84, 0x35, 0xdc, 0x77, 0xef, 0x63,
|
||||
0xef, 0xe1, 0xc9, 0x27, 0x6f, 0xaf, 0x47, 0x2c, 0x35, 0x63, 0x6b, 0x27, 0x09, 0xd0, 0xeb, 0xa1,
|
||||
0xba, 0xf3, 0x69, 0x83, 0x87, 0x68, 0xe8, 0x10, 0x76, 0x16, 0xaa, 0xfd, 0x97, 0x7c, 0x86, 0x18,
|
||||
0x3f, 0xca, 0x71, 0x4b, 0x92, 0xc7, 0xd2, 0x31, 0xa8, 0xbf, 0x56, 0xe0, 0xc2, 0x3a, 0xf6, 0xd7,
|
||||
0xe2, 0x7d, 0xf9, 0xd3, 0x96, 0xca, 0x86, 0x4e, 0x9a, 0x50, 0x27, 0xb9, 0xf5, 0x0e, 0x54, 0xe4,
|
||||
0x84, 0x81, 0x4f, 0x77, 0xe5, 0x5a, 0xfd, 0xa9, 0x02, 0x6d, 0xb1, 0x0b, 0xdb, 0x93, 0x56, 0xc3,
|
||||
0x16, 0xf6, 0xb1, 0xf1, 0x6d, 0xb7, 0xbc, 0xff, 0x52, 0xa0, 0x15, 0x0d, 0xe5, 0x2c, 0x1a, 0xbf,
|
||||
0x02, 0x45, 0x36, 0x59, 0x10, 0x12, 0xcc, 0x34, 0x56, 0x8e, 0x4d, 0x43, 0x06, 0xab, 0xd0, 0x76,
|
||||
0x64, 0xd6, 0x11, 0xcb, 0x30, 0x9f, 0xe4, 0x8f, 0x9e, 0x4f, 0x44, 0x7e, 0x75, 0x47, 0x94, 0x2f,
|
||||
0x9f, 0xdc, 0x85, 0x00, 0xf5, 0xcb, 0x1c, 0xb4, 0xc3, 0x56, 0xe2, 0x5b, 0x0f, 0xe8, 0x13, 0x0a,
|
||||
0xcd, 0xfc, 0x63, 0x2a, 0x34, 0x0b, 0x47, 0x0d, 0xe2, 0xff, 0xcc, 0x41, 0x33, 0x54, 0xc7, 0x96,
|
||||
0xa5, 0x3b, 0xe8, 0x1c, 0x94, 0x86, 0x96, 0x1e, 0x4e, 0x04, 0xc5, 0x0a, 0x6d, 0xcb, 0xca, 0x24,
|
||||
0xae, 0x80, 0x17, 0xd2, 0x2e, 0x67, 0x82, 0x86, 0xb5, 0x04, 0x0b, 0xda, 0xa2, 0xf1, 0x22, 0x9f,
|
||||
0x35, 0xda, 0xa2, 0x1a, 0xe2, 0x56, 0x40, 0x7b, 0xec, 0x5b, 0x80, 0xc4, 0xd5, 0xf5, 0x4c, 0xa7,
|
||||
0x47, 0x70, 0xdf, 0x75, 0x0c, 0x7e, 0xa9, 0x45, 0xad, 0x25, 0xbe, 0x74, 0x9d, 0x6d, 0x0e, 0x47,
|
||||
0xaf, 0x40, 0xc1, 0x7f, 0x38, 0xe4, 0xe1, 0xb9, 0x99, 0x1a, 0xf6, 0x42, 0xb9, 0x76, 0x1e, 0x0e,
|
||||
0xb1, 0xc6, 0xd0, 0xd1, 0x3c, 0x00, 0x65, 0xe5, 0x7b, 0xfa, 0x7d, 0x6c, 0x05, 0xbf, 0x65, 0x86,
|
||||
0x10, 0x6a, 0xa6, 0xc1, 0xac, 0xa2, 0xcc, 0x73, 0x82, 0x58, 0xaa, 0x7f, 0xcf, 0x41, 0x2b, 0x64,
|
||||
0xa9, 0x61, 0x32, 0xb2, 0xfc, 0x89, 0xfa, 0x9b, 0xde, 0xa0, 0xcd, 0xca, 0xf4, 0x6f, 0x43, 0x4d,
|
||||
0xcc, 0x4d, 0x8e, 0x70, 0xd1, 0xc0, 0x49, 0x36, 0xa6, 0x58, 0x5e, 0xf1, 0x31, 0x59, 0x5e, 0xe9,
|
||||
0xa8, 0x96, 0xb7, 0x0d, 0xe7, 0x82, 0x80, 0x16, 0x22, 0x6c, 0x62, 0x5f, 0x9f, 0x52, 0x49, 0x5c,
|
||||
0x81, 0x1a, 0x4f, 0x54, 0x3c, 0x43, 0xf3, 0xe2, 0x1a, 0x76, 0x65, 0xd7, 0xa9, 0xfe, 0x18, 0xce,
|
||||
0xb2, 0x80, 0x90, 0x1c, 0xaf, 0x66, 0x99, 0x75, 0xab, 0xb2, 0x74, 0xa7, 0x65, 0x3a, 0xb7, 0xee,
|
||||
0xaa, 0x16, 0x83, 0xa9, 0x1b, 0xf0, 0x4c, 0x82, 0xff, 0x09, 0x02, 0xbe, 0xfa, 0x0f, 0x05, 0x2e,
|
||||
0xac, 0x7a, 0xee, 0xf0, 0x43, 0xd3, 0xf3, 0x47, 0xba, 0x15, 0x1f, 0xd8, 0x3f, 0x99, 0xe6, 0xe3,
|
||||
0xbd, 0x48, 0x8e, 0xe1, 0x41, 0xe7, 0x56, 0xca, 0x95, 0x8d, 0x0b, 0x25, 0xae, 0x2a, 0x92, 0x91,
|
||||
0xfe, 0x9b, 0x4f, 0x13, 0x5e, 0xe0, 0xcd, 0x88, 0xa4, 0x59, 0x52, 0x70, 0xea, 0x34, 0x22, 0x7f,
|
||||
0xdc, 0x69, 0xc4, 0x04, 0xeb, 0x2f, 0x3c, 0x26, 0xeb, 0x3f, 0x6a, 0xf1, 0x8c, 0xde, 0x83, 0xf8,
|
||||
0xa4, 0x88, 0x85, 0x9d, 0x63, 0x8d, 0x98, 0x96, 0x01, 0xc2, 0xa9, 0x89, 0x78, 0x6d, 0x91, 0x85,
|
||||
0x4d, 0x84, 0x8a, 0xde, 0x96, 0x8c, 0x34, 0x6c, 0xda, 0x19, 0xeb, 0xf2, 0xdf, 0x87, 0x4e, 0x9a,
|
||||
0x95, 0x9e, 0xc4, 0xf2, 0x7f, 0x93, 0x03, 0xe8, 0xda, 0x43, 0xd7, 0xf3, 0x77, 0x74, 0x72, 0x70,
|
||||
0xbc, 0x72, 0xe9, 0x06, 0xcc, 0x85, 0x06, 0x13, 0x35, 0xf8, 0x66, 0x08, 0x66, 0x36, 0x7f, 0x0d,
|
||||
0x9a, 0xb2, 0x72, 0xe3, 0x78, 0x79, 0x3e, 0x72, 0x96, 0x50, 0x86, 0x76, 0x11, 0xaa, 0x9e, 0x7b,
|
||||
0xd8, 0xa3, 0x9e, 0x64, 0xb0, 0x14, 0x53, 0xd1, 0x2a, 0x9e, 0x7b, 0x48, 0xfd, 0xcb, 0x40, 0xe7,
|
||||
0xa1, 0xec, 0xeb, 0xe4, 0xa0, 0x67, 0x1a, 0xa2, 0xf8, 0x2f, 0xd1, 0x65, 0xd7, 0x40, 0x67, 0xa1,
|
||||
0xb8, 0x67, 0x5a, 0x98, 0x07, 0xc0, 0xaa, 0xc6, 0x17, 0xe8, 0xd5, 0xe0, 0xa7, 0xf3, 0x72, 0xe6,
|
||||
0x9f, 0xfe, 0xf8, 0xaf, 0xe7, 0x5f, 0x2b, 0x30, 0x17, 0x2a, 0x86, 0xd5, 0x35, 0xe8, 0x2d, 0xde,
|
||||
0xe4, 0xe1, 0x15, 0xd7, 0xe0, 0xd1, 0xa0, 0x39, 0x61, 0xba, 0xcf, 0x09, 0x79, 0x31, 0x14, 0x92,
|
||||
0x4c, 0xab, 0x2b, 0xe9, 0xb9, 0xe8, 0xa1, 0x4d, 0x23, 0xf8, 0x71, 0xa1, 0xe4, 0xb9, 0x87, 0x5d,
|
||||
0x83, 0x04, 0xda, 0xe0, 0x2f, 0x88, 0x78, 0x15, 0x45, 0xb5, 0xb1, 0xc2, 0x1e, 0x11, 0x3d, 0x0b,
|
||||
0x0d, 0xec, 0x79, 0xae, 0xd7, 0xb3, 0x31, 0x21, 0xfa, 0x80, 0x67, 0xdc, 0xaa, 0x56, 0x67, 0xc0,
|
||||
0x4d, 0x0e, 0x53, 0xbf, 0xc9, 0x41, 0x33, 0x3c, 0x4a, 0xf0, 0x93, 0x82, 0x69, 0x04, 0x3f, 0x29,
|
||||
0x98, 0x06, 0xcd, 0xfe, 0x1e, 0x8f, 0x76, 0x54, 0xb1, 0x22, 0x27, 0x0a, 0x48, 0xd7, 0xa0, 0xe1,
|
||||
0x9e, 0xfa, 0x90, 0xe3, 0x1a, 0x98, 0x7e, 0xe7, 0x39, 0x11, 0x02, 0x50, 0xd7, 0xa0, 0x72, 0x44,
|
||||
0x4c, 0xc0, 0x34, 0x82, 0xe1, 0x4f, 0x24, 0x90, 0x18, 0x34, 0x2a, 0x86, 0xd7, 0x2f, 0xee, 0xaf,
|
||||
0x1a, 0x2d, 0xe6, 0x0d, 0x9a, 0xb2, 0x77, 0x47, 0xfd, 0x03, 0xec, 0x33, 0x37, 0xac, 0x6a, 0x62,
|
||||
0x15, 0x37, 0x89, 0x72, 0xc2, 0x24, 0xe4, 0xcd, 0x57, 0xa2, 0x37, 0x7f, 0x11, 0xaa, 0x7c, 0x64,
|
||||
0xdd, 0xf3, 0x09, 0xfb, 0x41, 0x20, 0xaf, 0x55, 0x38, 0x60, 0x87, 0xa0, 0xd7, 0x82, 0xb2, 0x36,
|
||||
0x75, 0xc0, 0xcf, 0xe2, 0x45, 0xe2, 0xf2, 0x45, 0x51, 0xab, 0x7e, 0x02, 0x28, 0xfc, 0x72, 0xb2,
|
||||
0x36, 0x23, 0xa1, 0xd5, 0x5c, 0x52, 0xab, 0x37, 0x7f, 0xab, 0xc0, 0xe9, 0xb1, 0xea, 0x1a, 0x35,
|
||||
0x01, 0x3e, 0x70, 0xfa, 0xa2, 0xed, 0x68, 0x9d, 0x42, 0x75, 0xa8, 0x04, 0x4d, 0x48, 0x4b, 0x41,
|
||||
0x35, 0x28, 0xef, 0xb8, 0x0c, 0xbb, 0x95, 0x43, 0x2d, 0xa8, 0x73, 0xc2, 0x51, 0xbf, 0x8f, 0x09,
|
||||
0x69, 0xe5, 0x25, 0x64, 0x4d, 0x37, 0xad, 0x91, 0x87, 0x5b, 0x05, 0xd4, 0x80, 0xea, 0x8e, 0xab,
|
||||
0x61, 0x0b, 0xeb, 0x04, 0xb7, 0x8a, 0x08, 0x41, 0x53, 0x2c, 0x02, 0xa2, 0x52, 0x04, 0x16, 0x90,
|
||||
0x95, 0x6f, 0xee, 0x45, 0xcb, 0x55, 0x5a, 0xc3, 0xa1, 0xf3, 0x70, 0xe6, 0x03, 0xc7, 0xc0, 0x7b,
|
||||
0xa6, 0x83, 0x8d, 0xf0, 0x53, 0xeb, 0x14, 0x3a, 0x03, 0x73, 0x5d, 0xc7, 0xc1, 0x5e, 0x04, 0xa8,
|
||||
0x50, 0xe0, 0x26, 0xf6, 0x06, 0x38, 0x02, 0xcc, 0xa1, 0xd3, 0xd0, 0xd8, 0x34, 0x1f, 0x44, 0x40,
|
||||
0xf9, 0xa5, 0xff, 0x9c, 0x81, 0xea, 0xaa, 0xee, 0xeb, 0x2b, 0xae, 0xeb, 0x19, 0x68, 0x08, 0x88,
|
||||
0xbd, 0x95, 0xb0, 0x87, 0xae, 0x23, 0x1f, 0x15, 0xa1, 0x97, 0x26, 0x44, 0xd9, 0x71, 0x54, 0x91,
|
||||
0xd2, 0x3b, 0xd7, 0x27, 0x50, 0x24, 0xd0, 0xd5, 0x53, 0xc8, 0x66, 0x3b, 0xd2, 0x1a, 0x78, 0xc7,
|
||||
0xec, 0x1f, 0x04, 0xbf, 0x8a, 0x4d, 0xd9, 0x31, 0x81, 0x1a, 0xec, 0x98, 0x78, 0xab, 0x24, 0x16,
|
||||
0xfc, 0x41, 0x4b, 0x60, 0x46, 0xea, 0x29, 0xf4, 0x29, 0x9c, 0x5d, 0xc7, 0x7e, 0xf8, 0x86, 0x21,
|
||||
0xd8, 0x70, 0x69, 0xf2, 0x86, 0x63, 0xc8, 0x47, 0xdc, 0x72, 0x03, 0x8a, 0xac, 0x93, 0x45, 0x69,
|
||||
0xdd, 0x62, 0xf4, 0x65, 0x6d, 0x67, 0x61, 0x32, 0x82, 0xe4, 0xf6, 0x09, 0xcc, 0x25, 0x5e, 0x0e,
|
||||
0xa2, 0xe7, 0x53, 0xc8, 0xd2, 0xdf, 0x80, 0x76, 0x6e, 0x66, 0x41, 0x95, 0x7b, 0x0d, 0xa0, 0x19,
|
||||
0x7f, 0x69, 0x81, 0x16, 0x53, 0xe8, 0x53, 0x5f, 0x7d, 0x75, 0x9e, 0xcf, 0x80, 0x29, 0x37, 0xb2,
|
||||
0xa1, 0x95, 0x7c, 0xc9, 0x86, 0x6e, 0x4e, 0x65, 0x10, 0x37, 0xb7, 0x17, 0x32, 0xe1, 0xca, 0xed,
|
||||
0x1e, 0x32, 0x23, 0x18, 0x7b, 0x49, 0x85, 0x6e, 0xa7, 0xb3, 0x99, 0xf4, 0xc4, 0xab, 0x73, 0x27,
|
||||
0x33, 0xbe, 0xdc, 0xfa, 0x27, 0x7c, 0x82, 0x96, 0xf6, 0x1a, 0x09, 0xbd, 0x9c, 0xce, 0x6e, 0xca,
|
||||
0x33, 0xaa, 0xce, 0xd2, 0x51, 0x48, 0xa4, 0x10, 0x9f, 0xb3, 0xd1, 0x57, 0xca, 0x8b, 0x9e, 0xa4,
|
||||
0xdf, 0x05, 0xfc, 0x26, 0x3f, 0x55, 0xea, 0xbc, 0x7c, 0x04, 0x0a, 0x29, 0x80, 0x9b, 0x7c, 0x2b,
|
||||
0x18, 0xb8, 0xe1, 0x9d, 0x99, 0x56, 0x73, 0x3c, 0x1f, 0xfc, 0x18, 0xe6, 0x12, 0xbf, 0x3f, 0xa6,
|
||||
0x7a, 0x4d, 0xfa, 0x6f, 0x94, 0x9d, 0x69, 0xd9, 0x86, 0xbb, 0x64, 0x62, 0x92, 0x88, 0x26, 0x58,
|
||||
0x7f, 0xca, 0xb4, 0xb1, 0x73, 0x33, 0x0b, 0xaa, 0x3c, 0x08, 0x61, 0xe1, 0x32, 0x31, 0x8d, 0x43,
|
||||
0xb7, 0xd2, 0x79, 0xa4, 0x4f, 0x12, 0x3b, 0x2f, 0x66, 0xc4, 0x96, 0x9b, 0xf6, 0x00, 0xd6, 0xb1,
|
||||
0xbf, 0x89, 0x7d, 0x8f, 0xda, 0xc8, 0xf5, 0x54, 0x95, 0x87, 0x08, 0xc1, 0x36, 0x37, 0x66, 0xe2,
|
||||
0xc9, 0x0d, 0x7e, 0x00, 0x28, 0x48, 0xb1, 0x91, 0x5f, 0xbf, 0x9f, 0x9d, 0x3a, 0xd7, 0xe0, 0x43,
|
||||
0x88, 0x59, 0x77, 0xf3, 0x29, 0xb4, 0x36, 0x75, 0x87, 0x56, 0xf3, 0x21, 0xdf, 0x5b, 0xa9, 0x82,
|
||||
0x25, 0xd1, 0x26, 0x68, 0x6b, 0x22, 0xb6, 0x3c, 0xcc, 0xa1, 0xcc, 0xa1, 0xba, 0x74, 0x41, 0x9c,
|
||||
0x8c, 0x2d, 0xa1, 0x36, 0x12, 0x88, 0x13, 0x62, 0xcb, 0x14, 0x7c, 0xb9, 0xf1, 0x23, 0x85, 0xbd,
|
||||
0x48, 0x4d, 0x20, 0x7c, 0x64, 0xfa, 0xfb, 0x5b, 0x96, 0xee, 0x90, 0x2c, 0x22, 0x30, 0xc4, 0x23,
|
||||
0x88, 0x20, 0xf0, 0xa5, 0x08, 0x06, 0x34, 0x62, 0x63, 0x03, 0x94, 0xf6, 0x13, 0x76, 0xda, 0xe0,
|
||||
0xa2, 0xb3, 0x38, 0x1b, 0x51, 0xee, 0xb2, 0x0f, 0x8d, 0xc0, 0x5e, 0xb9, 0x72, 0x9f, 0x9f, 0x24,
|
||||
0x69, 0x88, 0x33, 0xc1, 0xdd, 0xd2, 0x51, 0xa3, 0xee, 0x36, 0xde, 0x11, 0xa2, 0x6c, 0x93, 0x84,
|
||||
0x69, 0xee, 0x36, 0xb9, 0xcd, 0x54, 0x4f, 0xa1, 0x2d, 0x28, 0xf1, 0x12, 0x18, 0x5d, 0x9e, 0x5a,
|
||||
0x37, 0x77, 0xae, 0x4d, 0xfd, 0x1c, 0x72, 0x5c, 0xfa, 0x7d, 0x11, 0x2a, 0xc1, 0xaf, 0x8a, 0x4f,
|
||||
0xa1, 0xc6, 0x7b, 0x0a, 0x45, 0xd7, 0xc7, 0x30, 0x97, 0x78, 0x80, 0x98, 0x1a, 0x93, 0xd3, 0x1f,
|
||||
0x29, 0xce, 0x0a, 0x2a, 0x1f, 0x89, 0x7f, 0x4b, 0x92, 0xf1, 0xf7, 0xc6, 0xa4, 0xc2, 0x2d, 0x19,
|
||||
0x7a, 0x67, 0x30, 0x7e, 0xe2, 0x81, 0xf6, 0x1e, 0x40, 0x24, 0x10, 0x4e, 0x1f, 0x1c, 0x53, 0xdf,
|
||||
0x9e, 0x25, 0xf0, 0x5a, 0x56, 0x53, 0x9d, 0xce, 0x67, 0xf9, 0xee, 0x0f, 0x5f, 0x1e, 0x98, 0xfe,
|
||||
0xfe, 0x68, 0x97, 0x7e, 0xb9, 0xc3, 0x51, 0x5f, 0x34, 0x5d, 0xf1, 0xd7, 0x9d, 0xc0, 0x32, 0xee,
|
||||
0x30, 0xea, 0x3b, 0x94, 0xf9, 0x70, 0x77, 0xb7, 0xc4, 0x56, 0x77, 0xff, 0x1f, 0x00, 0x00, 0xff,
|
||||
0xff, 0x5d, 0x32, 0x73, 0x00, 0x00, 0x37, 0x00, 0x00,
|
||||
// 3222 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x3b, 0x5b, 0x6f, 0x1b, 0xc7,
|
||||
0xd5, 0x5e, 0xde, 0x79, 0x78, 0x11, 0x3d, 0x76, 0x64, 0x9a, 0xb6, 0x65, 0x79, 0x1d, 0x3b, 0x8a,
|
||||
0xe3, 0xd8, 0x89, 0xfc, 0x05, 0x09, 0xbe, 0xdc, 0x10, 0x49, 0x91, 0x42, 0x7c, 0x92, 0x3f, 0x65,
|
||||
0xa5, 0x24, 0x1f, 0xbe, 0x14, 0x25, 0x56, 0xdc, 0x11, 0xb5, 0xd1, 0x5e, 0x98, 0x9d, 0xa5, 0x65,
|
||||
0xe7, 0x25, 0x46, 0x03, 0x14, 0x68, 0x11, 0xa4, 0x2d, 0xfa, 0x54, 0xa0, 0x28, 0x8a, 0x3e, 0xb5,
|
||||
0xe8, 0x4b, 0xfb, 0xd8, 0x16, 0x7d, 0x0f, 0xd2, 0x7f, 0xd1, 0x97, 0xbe, 0xf5, 0x37, 0x14, 0x73,
|
||||
0xd9, 0xd9, 0x0b, 0x97, 0xe4, 0x4a, 0xb2, 0xe3, 0x37, 0xcd, 0xd9, 0x73, 0xce, 0xcc, 0x9c, 0xfb,
|
||||
0x39, 0x1c, 0x41, 0xcb, 0xd0, 0x7d, 0xbd, 0xd7, 0x77, 0x5d, 0xcf, 0xb8, 0x33, 0xf4, 0x5c, 0xdf,
|
||||
0x45, 0x67, 0x6d, 0xd3, 0x7a, 0x30, 0x22, 0x7c, 0x75, 0x87, 0x7e, 0xee, 0xd4, 0xfb, 0xae, 0x6d,
|
||||
0xbb, 0x0e, 0x07, 0x75, 0x9a, 0xa6, 0xe3, 0x63, 0xcf, 0xd1, 0x2d, 0xb1, 0xae, 0x47, 0x09, 0x3a,
|
||||
0x75, 0xd2, 0x3f, 0xc0, 0xb6, 0xce, 0x57, 0xea, 0x43, 0xa8, 0xaf, 0x5b, 0x23, 0x72, 0xa0, 0xe1,
|
||||
0xcf, 0x47, 0x98, 0xf8, 0xe8, 0x15, 0x28, 0xec, 0xe9, 0x04, 0xb7, 0x95, 0x45, 0x65, 0xa9, 0xb6,
|
||||
0x7c, 0xf9, 0x4e, 0x6c, 0x2f, 0xb1, 0xcb, 0x16, 0x19, 0xac, 0xe8, 0x04, 0x6b, 0x0c, 0x13, 0x21,
|
||||
0x28, 0x18, 0x7b, 0xdd, 0xb5, 0x76, 0x6e, 0x51, 0x59, 0xca, 0x6b, 0xec, 0x6f, 0xa4, 0x42, 0xbd,
|
||||
0xef, 0x5a, 0x16, 0xee, 0xfb, 0xa6, 0xeb, 0x74, 0xd7, 0xda, 0x05, 0xf6, 0x2d, 0x06, 0x53, 0x7f,
|
||||
0xad, 0x40, 0x43, 0x6c, 0x4d, 0x86, 0xae, 0x43, 0x30, 0xba, 0x07, 0x25, 0xe2, 0xeb, 0xfe, 0x88,
|
||||
0x88, 0xdd, 0x2f, 0xa5, 0xee, 0xbe, 0xc3, 0x50, 0x34, 0x81, 0x9a, 0x69, 0xfb, 0xfc, 0xf8, 0xf6,
|
||||
0x68, 0x01, 0x80, 0xe0, 0x81, 0x8d, 0x1d, 0xbf, 0xbb, 0x46, 0xda, 0x85, 0xc5, 0xfc, 0x52, 0x5e,
|
||||
0x8b, 0x40, 0xd4, 0x5f, 0x28, 0xd0, 0xda, 0x09, 0x96, 0x81, 0x74, 0xce, 0x43, 0xb1, 0xef, 0x8e,
|
||||
0x1c, 0x9f, 0x1d, 0xb0, 0xa1, 0xf1, 0x05, 0xba, 0x06, 0xf5, 0xfe, 0x81, 0xee, 0x38, 0xd8, 0xea,
|
||||
0x39, 0xba, 0x8d, 0xd9, 0x51, 0xaa, 0x5a, 0x4d, 0xc0, 0xee, 0xeb, 0x36, 0xce, 0x74, 0xa2, 0x45,
|
||||
0xa8, 0x0d, 0x75, 0xcf, 0x37, 0x63, 0x32, 0x8b, 0x82, 0xd4, 0xdf, 0x2a, 0x30, 0xff, 0x1e, 0x21,
|
||||
0xe6, 0xc0, 0x19, 0x3b, 0xd9, 0x3c, 0x94, 0x1c, 0xd7, 0xc0, 0xdd, 0x35, 0x76, 0xb4, 0xbc, 0x26,
|
||||
0x56, 0xe8, 0x12, 0x54, 0x87, 0x18, 0x7b, 0x3d, 0xcf, 0xb5, 0x82, 0x83, 0x55, 0x28, 0x40, 0x73,
|
||||
0x2d, 0x8c, 0x3e, 0x84, 0xb3, 0x24, 0xc1, 0x88, 0xb4, 0xf3, 0x8b, 0xf9, 0xa5, 0xda, 0xf2, 0xf5,
|
||||
0x3b, 0x63, 0x56, 0x76, 0x27, 0xb9, 0xa9, 0x36, 0x4e, 0xad, 0x3e, 0xce, 0xc1, 0x39, 0x89, 0xc7,
|
||||
0xcf, 0x4a, 0xff, 0xa6, 0x92, 0x23, 0x78, 0x20, 0x8f, 0xc7, 0x17, 0x59, 0x24, 0x27, 0x45, 0x9e,
|
||||
0x8f, 0x8a, 0x3c, 0x83, 0x81, 0x25, 0xe5, 0x59, 0x1c, 0x93, 0x27, 0xba, 0x0a, 0x35, 0xfc, 0x70,
|
||||
0x68, 0x7a, 0xb8, 0xe7, 0x9b, 0x36, 0x6e, 0x97, 0x16, 0x95, 0xa5, 0x82, 0x06, 0x1c, 0xb4, 0x6b,
|
||||
0xda, 0x51, 0x8b, 0x2c, 0x67, 0xb6, 0x48, 0xf5, 0x77, 0x0a, 0x5c, 0x18, 0xd3, 0x92, 0x30, 0x71,
|
||||
0x0d, 0x5a, 0xec, 0xe6, 0xa1, 0x64, 0xa8, 0xb1, 0x53, 0x81, 0xdf, 0x9c, 0x26, 0xf0, 0x10, 0x5d,
|
||||
0x1b, 0xa3, 0x8f, 0x1c, 0x32, 0x97, 0xfd, 0x90, 0x87, 0x70, 0x61, 0x03, 0xfb, 0x62, 0x03, 0xfa,
|
||||
0x0d, 0x93, 0x93, 0x87, 0x80, 0xb8, 0x2f, 0xe5, 0xc6, 0x7c, 0xe9, 0x4f, 0x39, 0xe9, 0x4b, 0x6c,
|
||||
0xab, 0xae, 0xb3, 0xef, 0xa2, 0xcb, 0x50, 0x95, 0x28, 0xc2, 0x2a, 0x42, 0x00, 0x7a, 0x1d, 0x8a,
|
||||
0xf4, 0xa4, 0xdc, 0x24, 0x9a, 0xcb, 0xd7, 0xd2, 0xef, 0x14, 0xe1, 0xa9, 0x71, 0x7c, 0xd4, 0x85,
|
||||
0x26, 0xf1, 0x75, 0xcf, 0xef, 0x0d, 0x5d, 0xc2, 0xf4, 0xcc, 0x0c, 0xa7, 0xb6, 0xac, 0xc6, 0x39,
|
||||
0xc8, 0x10, 0xb9, 0x45, 0x06, 0xdb, 0x02, 0x53, 0x6b, 0x30, 0xca, 0x60, 0x89, 0xde, 0x87, 0x3a,
|
||||
0x76, 0x8c, 0x90, 0x51, 0x21, 0x33, 0xa3, 0x1a, 0x76, 0x0c, 0xc9, 0x26, 0xd4, 0x4f, 0x31, 0xbb,
|
||||
0x7e, 0xbe, 0x56, 0xa0, 0x3d, 0xae, 0xa0, 0xd3, 0x04, 0xca, 0x37, 0x39, 0x11, 0xe6, 0x0a, 0x9a,
|
||||
0xea, 0xe1, 0x52, 0x49, 0x9a, 0x20, 0x51, 0x4d, 0x78, 0x2e, 0x3c, 0x0d, 0xfb, 0xf2, 0xd4, 0x8c,
|
||||
0xe5, 0x2b, 0x05, 0xe6, 0x93, 0x7b, 0x9d, 0xe6, 0xde, 0xff, 0x05, 0x45, 0xd3, 0xd9, 0x77, 0x83,
|
||||
0x6b, 0x2f, 0x4c, 0xf1, 0x33, 0xba, 0x17, 0x47, 0x56, 0x6d, 0xb8, 0xb4, 0x81, 0xfd, 0xae, 0x43,
|
||||
0xb0, 0xe7, 0xaf, 0x98, 0x8e, 0xe5, 0x0e, 0xb6, 0x75, 0xff, 0xe0, 0x14, 0x3e, 0x12, 0x33, 0xf7,
|
||||
0x5c, 0xc2, 0xdc, 0xd5, 0xdf, 0x2b, 0x70, 0x39, 0x7d, 0x3f, 0x71, 0xf5, 0x0e, 0x54, 0xf6, 0x4d,
|
||||
0x6c, 0x19, 0x54, 0x66, 0x0a, 0x93, 0x99, 0x5c, 0x53, 0x5f, 0x19, 0x52, 0x64, 0x71, 0xc3, 0x6b,
|
||||
0x13, 0x0c, 0x74, 0xc7, 0xf7, 0x4c, 0x67, 0xb0, 0x69, 0x12, 0x5f, 0xe3, 0xf8, 0x11, 0x79, 0xe6,
|
||||
0xb3, 0x5b, 0xe6, 0x4f, 0x15, 0x58, 0xd8, 0xc0, 0xfe, 0xaa, 0x0c, 0xb5, 0xf4, 0xbb, 0x49, 0x7c,
|
||||
0xb3, 0x4f, 0x9e, 0x6e, 0x11, 0x91, 0x92, 0x33, 0xd5, 0x9f, 0x29, 0x70, 0x75, 0xe2, 0x61, 0x84,
|
||||
0xe8, 0x44, 0x28, 0x09, 0x02, 0x6d, 0x7a, 0x28, 0xf9, 0x1f, 0xfc, 0xe8, 0x63, 0xdd, 0x1a, 0xe1,
|
||||
0x6d, 0xdd, 0xf4, 0x78, 0x28, 0x39, 0x61, 0x60, 0xfd, 0xa3, 0x02, 0x57, 0x36, 0xb0, 0xbf, 0x1d,
|
||||
0xa4, 0x99, 0x67, 0x28, 0x9d, 0x0c, 0x15, 0xc5, 0x37, 0x5c, 0x99, 0xa9, 0xa7, 0x7d, 0x26, 0xe2,
|
||||
0x5b, 0x60, 0x7e, 0x10, 0x71, 0xc8, 0x55, 0x5e, 0x0b, 0x08, 0xe1, 0xa9, 0x8f, 0xf3, 0x50, 0xff,
|
||||
0x58, 0xd4, 0x07, 0x2c, 0x8d, 0x24, 0xe5, 0xa0, 0xa4, 0xcb, 0x21, 0x52, 0x52, 0xa4, 0x55, 0x19,
|
||||
0x1b, 0xd0, 0x20, 0x18, 0x1f, 0x9e, 0x24, 0x69, 0xd4, 0x29, 0xa1, 0x0c, 0xf6, 0x9b, 0x70, 0x76,
|
||||
0xe4, 0xec, 0xd3, 0xb2, 0x16, 0x1b, 0xe2, 0x16, 0xbc, 0xba, 0x9c, 0x1d, 0x79, 0xc6, 0x09, 0xd1,
|
||||
0x07, 0x30, 0x97, 0xe4, 0x55, 0xcc, 0xc4, 0x2b, 0x49, 0x86, 0xba, 0xd0, 0x32, 0x3c, 0x77, 0x38,
|
||||
0xc4, 0x46, 0x8f, 0x04, 0xac, 0x4a, 0xd9, 0x58, 0x09, 0xba, 0x80, 0x95, 0xfa, 0x13, 0x05, 0xe6,
|
||||
0x3f, 0xd1, 0xfd, 0xfe, 0xc1, 0x9a, 0x2d, 0x94, 0x73, 0x0a, 0xd3, 0x7e, 0x1b, 0xaa, 0x0f, 0x84,
|
||||
0x22, 0x82, 0xf8, 0x75, 0x35, 0xe5, 0x40, 0x51, 0x95, 0x6b, 0x21, 0x85, 0xfa, 0xad, 0x02, 0xe7,
|
||||
0x59, 0x13, 0x11, 0x9c, 0xee, 0xfb, 0x77, 0xb2, 0x19, 0x8d, 0x04, 0xba, 0x09, 0x4d, 0x5b, 0xf7,
|
||||
0x0e, 0x77, 0x42, 0x9c, 0x22, 0xc3, 0x49, 0x40, 0xd5, 0x87, 0x00, 0x62, 0xb5, 0x45, 0x06, 0x27,
|
||||
0x38, 0xff, 0x1b, 0x50, 0x16, 0xbb, 0x0a, 0x7f, 0x9b, 0xa5, 0xd8, 0x00, 0x5d, 0xfd, 0x4e, 0x81,
|
||||
0x66, 0x18, 0x41, 0x99, 0x57, 0x35, 0x21, 0x27, 0x7d, 0x29, 0xd7, 0x5d, 0x43, 0x6f, 0x43, 0x89,
|
||||
0xb7, 0x8d, 0x82, 0xf7, 0x8d, 0x38, 0x6f, 0xd1, 0x52, 0x46, 0xc2, 0x30, 0x03, 0x68, 0x82, 0x88,
|
||||
0xca, 0x48, 0x46, 0x1d, 0xde, 0x61, 0xe4, 0xb5, 0x08, 0x04, 0x75, 0x61, 0x2e, 0x5e, 0xb4, 0x05,
|
||||
0x3e, 0xb3, 0x38, 0x29, 0xda, 0xac, 0xe9, 0xbe, 0xce, 0x82, 0x4d, 0x33, 0x56, 0xb3, 0x11, 0xf5,
|
||||
0xdf, 0x45, 0xa8, 0x45, 0x6e, 0x39, 0x76, 0x93, 0xa4, 0x4a, 0x73, 0xb3, 0xe3, 0x66, 0x7e, 0xbc,
|
||||
0x73, 0xb8, 0x01, 0x4d, 0x93, 0xe5, 0xea, 0x9e, 0x30, 0x45, 0x16, 0x5c, 0xab, 0x5a, 0x83, 0x43,
|
||||
0x85, 0x5f, 0xa0, 0x05, 0xa8, 0x39, 0x23, 0xbb, 0xe7, 0xee, 0xf7, 0x3c, 0xf7, 0x88, 0x88, 0x16,
|
||||
0xa4, 0xea, 0x8c, 0xec, 0xff, 0xdd, 0xd7, 0xdc, 0x23, 0x12, 0x56, 0xb9, 0xa5, 0x63, 0x56, 0xb9,
|
||||
0x0b, 0x50, 0xb3, 0xf5, 0x87, 0x94, 0x6b, 0xcf, 0x19, 0xd9, 0xac, 0x3b, 0xc9, 0x6b, 0x55, 0x5b,
|
||||
0x7f, 0xa8, 0xb9, 0x47, 0xf7, 0x47, 0x36, 0x5a, 0x82, 0x96, 0xa5, 0x13, 0xbf, 0x17, 0x6d, 0x6f,
|
||||
0x2a, 0xac, 0xbd, 0x69, 0x52, 0xf8, 0xfb, 0x61, 0x8b, 0x33, 0x5e, 0x2f, 0x57, 0x4f, 0x51, 0x2f,
|
||||
0x1b, 0xb6, 0x15, 0x32, 0x82, 0xec, 0xf5, 0xb2, 0x61, 0x5b, 0x92, 0xcd, 0x1b, 0x50, 0xde, 0x63,
|
||||
0x15, 0x10, 0x69, 0xd7, 0x26, 0x46, 0xa8, 0x75, 0x5a, 0xfc, 0xf0, 0x42, 0x49, 0x0b, 0xd0, 0xd1,
|
||||
0x5b, 0x50, 0x65, 0xa9, 0x87, 0xd1, 0xd6, 0x33, 0xd1, 0x86, 0x04, 0x94, 0xda, 0xc0, 0x96, 0xaf,
|
||||
0x33, 0xea, 0x46, 0x36, 0x6a, 0x49, 0x80, 0x5e, 0x81, 0x73, 0x7d, 0x0f, 0xeb, 0x3e, 0x36, 0x56,
|
||||
0x1e, 0xad, 0xba, 0xf6, 0x50, 0x67, 0xc6, 0xd4, 0x6e, 0x2e, 0x2a, 0x4b, 0x15, 0x2d, 0xed, 0x13,
|
||||
0x0d, 0x0c, 0x7d, 0xb9, 0x5a, 0xf7, 0x5c, 0xbb, 0x3d, 0xc7, 0x03, 0x43, 0x1c, 0x8a, 0xae, 0x00,
|
||||
0x04, 0xa1, 0x5b, 0xf7, 0xdb, 0x2d, 0xa6, 0xc5, 0xaa, 0x80, 0xbc, 0xe7, 0xab, 0x5f, 0xc2, 0xf9,
|
||||
0xd0, 0x42, 0x22, 0xda, 0x18, 0x57, 0xac, 0x72, 0x52, 0xc5, 0x4e, 0xaf, 0x5d, 0xff, 0x5c, 0x80,
|
||||
0xf9, 0x1d, 0xfd, 0x01, 0x7e, 0xfa, 0x65, 0x72, 0xa6, 0x78, 0xbc, 0x09, 0x67, 0x59, 0x65, 0xbc,
|
||||
0x1c, 0x39, 0xcf, 0x94, 0x0c, 0x1c, 0x55, 0xe7, 0x38, 0x21, 0x7a, 0x97, 0x96, 0x0e, 0xb8, 0x7f,
|
||||
0xb8, 0xed, 0x9a, 0x61, 0xf6, 0xbd, 0x92, 0xc2, 0x67, 0x55, 0x62, 0x69, 0x51, 0x0a, 0xb4, 0x3d,
|
||||
0x1e, 0xda, 0x78, 0xde, 0x7d, 0x61, 0x6a, 0xff, 0x15, 0x4a, 0x3f, 0x19, 0xe1, 0x50, 0x1b, 0xca,
|
||||
0x22, 0xbb, 0x33, 0xbf, 0xaf, 0x68, 0xc1, 0x12, 0x6d, 0xc3, 0x39, 0x7e, 0x83, 0x1d, 0x61, 0xd4,
|
||||
0xfc, 0xf2, 0x95, 0x4c, 0x97, 0x4f, 0x23, 0x8d, 0xfb, 0x44, 0xf5, 0xb8, 0x3e, 0xd1, 0x86, 0xb2,
|
||||
0xb0, 0x53, 0x16, 0x0b, 0x2a, 0x5a, 0xb0, 0xa4, 0x4d, 0x04, 0x84, 0x12, 0x9b, 0x31, 0x0b, 0x78,
|
||||
0x07, 0x2a, 0xd2, 0x86, 0x73, 0x99, 0x6d, 0x58, 0xd2, 0x24, 0xa3, 0x70, 0x3e, 0x11, 0x85, 0xd5,
|
||||
0x7f, 0x28, 0x50, 0x5f, 0xa3, 0x87, 0xde, 0x74, 0x07, 0x2c, 0x67, 0xdc, 0x80, 0xa6, 0x87, 0xfb,
|
||||
0xae, 0x67, 0xf4, 0xb0, 0xe3, 0x7b, 0x26, 0xe6, 0xfd, 0x66, 0x41, 0x6b, 0x70, 0xe8, 0xfb, 0x1c,
|
||||
0x48, 0xd1, 0x68, 0x60, 0x25, 0xbe, 0x6e, 0x0f, 0x7b, 0xfb, 0xd4, 0x81, 0x73, 0x1c, 0x4d, 0x42,
|
||||
0x99, 0xff, 0x5e, 0x83, 0x7a, 0x88, 0xe6, 0xbb, 0x6c, 0xff, 0x82, 0x56, 0x93, 0xb0, 0x5d, 0x17,
|
||||
0x3d, 0x0f, 0x4d, 0x26, 0xb5, 0x9e, 0xe5, 0x0e, 0x7a, 0xb4, 0x37, 0x13, 0xe9, 0xa4, 0x6e, 0x88,
|
||||
0x63, 0x51, 0x6d, 0xc4, 0xb1, 0x88, 0xf9, 0x05, 0x16, 0x09, 0x45, 0x62, 0xed, 0x98, 0x5f, 0x60,
|
||||
0x9a, 0xcd, 0x1b, 0x34, 0x3b, 0xde, 0x77, 0x0d, 0xbc, 0x7b, 0xc2, 0x5a, 0x22, 0xc3, 0x5c, 0xee,
|
||||
0x32, 0x54, 0xe5, 0x0d, 0xc4, 0x95, 0x42, 0x00, 0x5a, 0x87, 0x66, 0x50, 0x66, 0xf6, 0x78, 0xf7,
|
||||
0x50, 0x98, 0x58, 0xdb, 0x45, 0xf2, 0x1b, 0xd1, 0x1a, 0x01, 0x19, 0x5b, 0xaa, 0xeb, 0x50, 0x8f,
|
||||
0x7e, 0xa6, 0xbb, 0xee, 0x24, 0x0d, 0x45, 0x02, 0xa8, 0xbd, 0xdd, 0x1f, 0xd9, 0x54, 0xa7, 0x22,
|
||||
0x74, 0x04, 0x4b, 0xf5, 0x2b, 0x05, 0x1a, 0x22, 0x29, 0xef, 0xc8, 0xb9, 0x31, 0xbb, 0x9a, 0xc2,
|
||||
0xae, 0xc6, 0xfe, 0x46, 0xff, 0x1d, 0x1f, 0x3a, 0x3d, 0x9f, 0xea, 0xe6, 0x8c, 0x09, 0xab, 0x7f,
|
||||
0x63, 0x19, 0x39, 0x4b, 0xb7, 0xfa, 0x98, 0x1a, 0x9a, 0x50, 0x0d, 0x33, 0xb4, 0x36, 0x94, 0x75,
|
||||
0xc3, 0xf0, 0x30, 0x21, 0xe2, 0x1c, 0xc1, 0x92, 0x7e, 0x79, 0x80, 0x3d, 0x12, 0x98, 0x7c, 0x5e,
|
||||
0x0b, 0x96, 0xe8, 0x2d, 0xa8, 0xc8, 0x82, 0x39, 0x9f, 0x56, 0x24, 0x45, 0xcf, 0x29, 0xba, 0x2b,
|
||||
0x49, 0xa1, 0x7e, 0x93, 0x83, 0xa6, 0x10, 0xd8, 0x8a, 0xc8, 0x9a, 0xd3, 0x9d, 0x6f, 0x05, 0xea,
|
||||
0xfb, 0xa1, 0x77, 0x4f, 0x9b, 0xa2, 0x44, 0x83, 0x40, 0x8c, 0x66, 0x96, 0x03, 0xc6, 0xf3, 0x76,
|
||||
0xe1, 0x54, 0x79, 0xbb, 0x78, 0xcc, 0x18, 0xa5, 0xfe, 0x00, 0x6a, 0x91, 0x2f, 0x2c, 0xb8, 0xf2,
|
||||
0xb9, 0x8a, 0x10, 0x45, 0xb0, 0x44, 0xf7, 0xc2, 0xb2, 0x84, 0xcb, 0xe0, 0x62, 0xca, 0x26, 0x89,
|
||||
0x8a, 0x44, 0xfd, 0x83, 0x02, 0x25, 0xc1, 0xf9, 0x2a, 0xd4, 0x44, 0x34, 0x61, 0x25, 0x1b, 0xe7,
|
||||
0x0e, 0x02, 0x44, 0x6b, 0xb6, 0x27, 0x17, 0x4e, 0x2e, 0x42, 0x25, 0x11, 0x48, 0xca, 0x22, 0xa2,
|
||||
0x07, 0x9f, 0x22, 0xd1, 0x83, 0x7e, 0x62, 0x81, 0xe3, 0x5b, 0x85, 0xcd, 0x84, 0x35, 0xdc, 0x77,
|
||||
0x1f, 0x60, 0xef, 0xd1, 0xe9, 0x27, 0x6f, 0x6f, 0x46, 0x2c, 0x35, 0x63, 0x6b, 0x27, 0x09, 0xd0,
|
||||
0x9b, 0xa1, 0xb8, 0xf3, 0x69, 0x83, 0x87, 0x68, 0xe8, 0x10, 0x76, 0x16, 0x8a, 0xfd, 0xe7, 0x7c,
|
||||
0x86, 0x18, 0xbf, 0xca, 0x49, 0x4b, 0x92, 0x27, 0xd2, 0x31, 0xa8, 0xbf, 0x54, 0xe0, 0xe2, 0x06,
|
||||
0xf6, 0xd7, 0xe3, 0x7d, 0xf9, 0xb3, 0x3e, 0x95, 0x0d, 0x9d, 0xb4, 0x43, 0x9d, 0x46, 0xeb, 0x1d,
|
||||
0xa8, 0xc8, 0x09, 0x03, 0x9f, 0xee, 0xca, 0xb5, 0xfa, 0x63, 0x05, 0xda, 0x62, 0x17, 0xb6, 0x27,
|
||||
0xad, 0x86, 0x2d, 0xec, 0x63, 0xe3, 0xfb, 0x6e, 0x79, 0xff, 0xae, 0x40, 0x2b, 0x1a, 0xca, 0x59,
|
||||
0x34, 0x7e, 0x0d, 0x8a, 0x6c, 0xb2, 0x20, 0x4e, 0x30, 0xd3, 0x58, 0x39, 0x36, 0x0d, 0x19, 0xac,
|
||||
0x42, 0xdb, 0x95, 0x59, 0x47, 0x2c, 0xc3, 0x7c, 0x92, 0x3f, 0x7e, 0x3e, 0x11, 0xf9, 0xd5, 0x1d,
|
||||
0x51, 0xbe, 0x7c, 0x72, 0x17, 0x02, 0xd4, 0xaf, 0x73, 0xd0, 0x0e, 0x5b, 0x89, 0xef, 0x3d, 0xa0,
|
||||
0x4f, 0x28, 0x34, 0xf3, 0x4f, 0xa8, 0xd0, 0x2c, 0x1c, 0x37, 0x88, 0xff, 0x2d, 0x07, 0xcd, 0x50,
|
||||
0x1c, 0xdb, 0x96, 0xee, 0xa0, 0x79, 0x28, 0x0d, 0x2d, 0x3d, 0x9c, 0x08, 0x8a, 0x15, 0xda, 0x91,
|
||||
0x95, 0x49, 0x5c, 0x00, 0x2f, 0xa5, 0x29, 0x67, 0x82, 0x84, 0xb5, 0x04, 0x0b, 0xda, 0xa2, 0xf1,
|
||||
0x22, 0x9f, 0x35, 0xda, 0xa2, 0x1a, 0xe2, 0x56, 0x40, 0x7b, 0xec, 0xdb, 0x80, 0x84, 0xea, 0x7a,
|
||||
0xa6, 0xd3, 0x23, 0xb8, 0xef, 0x3a, 0x06, 0x57, 0x6a, 0x51, 0x6b, 0x89, 0x2f, 0x5d, 0x67, 0x87,
|
||||
0xc3, 0xd1, 0x6b, 0x50, 0xf0, 0x1f, 0x0d, 0x79, 0x78, 0x6e, 0xa6, 0x86, 0xbd, 0xf0, 0x5c, 0xbb,
|
||||
0x8f, 0x86, 0x58, 0x63, 0xe8, 0x68, 0x01, 0x80, 0xb2, 0xf2, 0x3d, 0xfd, 0x01, 0xb6, 0x82, 0xdf,
|
||||
0x32, 0x43, 0x08, 0x35, 0xd3, 0x60, 0x56, 0x51, 0xe6, 0x39, 0x41, 0x2c, 0xd5, 0xbf, 0xe4, 0xa0,
|
||||
0x15, 0xb2, 0xd4, 0x30, 0x19, 0x59, 0xfe, 0x44, 0xf9, 0x4d, 0x6f, 0xd0, 0x66, 0x65, 0xfa, 0x77,
|
||||
0xa1, 0x26, 0xe6, 0x26, 0xc7, 0x50, 0x34, 0x70, 0x92, 0xcd, 0x29, 0x96, 0x57, 0x7c, 0x42, 0x96,
|
||||
0x57, 0x3a, 0xae, 0xe5, 0xed, 0xc0, 0x7c, 0x10, 0xd0, 0x42, 0x84, 0x2d, 0xec, 0xeb, 0x53, 0x2a,
|
||||
0x89, 0xab, 0x50, 0xe3, 0x89, 0x8a, 0x67, 0x68, 0x5e, 0x5c, 0xc3, 0x9e, 0xec, 0x3a, 0xd5, 0x1f,
|
||||
0xc2, 0x79, 0x16, 0x10, 0x92, 0xe3, 0xd5, 0x2c, 0xb3, 0x6e, 0x55, 0x96, 0xee, 0xb4, 0x4c, 0xe7,
|
||||
0xd6, 0x5d, 0xd5, 0x62, 0x30, 0x75, 0x13, 0x9e, 0x4b, 0xf0, 0x3f, 0x45, 0xc0, 0x57, 0xff, 0xaa,
|
||||
0xc0, 0xc5, 0x35, 0xcf, 0x1d, 0x7e, 0x6c, 0x7a, 0xfe, 0x48, 0xb7, 0xe2, 0x03, 0xfb, 0xa7, 0xd3,
|
||||
0x7c, 0x7c, 0x10, 0xc9, 0x31, 0x3c, 0xe8, 0xdc, 0x4e, 0x51, 0xd9, 0xf8, 0xa1, 0x84, 0xaa, 0x22,
|
||||
0x19, 0xe9, 0x5f, 0xf9, 0xb4, 0xc3, 0x0b, 0xbc, 0x19, 0x91, 0x34, 0x4b, 0x0a, 0x4e, 0x9d, 0x46,
|
||||
0xe4, 0x4f, 0x3a, 0x8d, 0x98, 0x60, 0xfd, 0x85, 0x27, 0x64, 0xfd, 0xc7, 0x2d, 0x9e, 0xd1, 0x07,
|
||||
0x10, 0x9f, 0x14, 0xb1, 0xb0, 0x73, 0xa2, 0x11, 0xd3, 0x0a, 0x40, 0x38, 0x35, 0x11, 0xaf, 0x2d,
|
||||
0xb2, 0xb0, 0x89, 0x50, 0x51, 0x6d, 0xc9, 0x48, 0xc3, 0xa6, 0x9d, 0xb1, 0x2e, 0xff, 0x43, 0xe8,
|
||||
0xa4, 0x59, 0xe9, 0x69, 0x2c, 0xff, 0x9b, 0x1c, 0x40, 0xd7, 0x1e, 0xba, 0x9e, 0xbf, 0xab, 0x93,
|
||||
0xc3, 0x93, 0x95, 0x4b, 0xd7, 0xa1, 0x11, 0x1a, 0x4c, 0xcf, 0x34, 0x52, 0xac, 0xc8, 0xa0, 0x2e,
|
||||
0x21, 0xab, 0x36, 0x8a, 0x33, 0x56, 0xc9, 0x19, 0xe8, 0x12, 0x54, 0x3d, 0xf7, 0xa8, 0x47, 0x3d,
|
||||
0xc8, 0x60, 0xa9, 0xa5, 0xa2, 0x55, 0x3c, 0xf7, 0x88, 0xfa, 0x95, 0x81, 0x2e, 0x40, 0xd9, 0xd7,
|
||||
0xc9, 0x21, 0x25, 0xe5, 0x45, 0x7f, 0x89, 0x2e, 0xbb, 0x06, 0x3a, 0x0f, 0xc5, 0x7d, 0xd3, 0xc2,
|
||||
0x3c, 0xf0, 0x55, 0x35, 0xbe, 0x40, 0xaf, 0x07, 0x3f, 0x99, 0x97, 0x33, 0xff, 0xe4, 0xc7, 0x7f,
|
||||
0x35, 0xff, 0x56, 0x81, 0xb9, 0x50, 0x20, 0xac, 0x9e, 0x41, 0xef, 0xf0, 0xe6, 0x0e, 0xaf, 0xba,
|
||||
0x06, 0x8f, 0x02, 0xcd, 0x09, 0x53, 0x7d, 0x4e, 0xc8, 0x8b, 0xa0, 0x90, 0x64, 0x5a, 0x3d, 0x49,
|
||||
0xef, 0x45, 0x2f, 0x6d, 0x1a, 0xc1, 0x8f, 0x0a, 0x25, 0xcf, 0x3d, 0xea, 0x1a, 0x24, 0x90, 0x06,
|
||||
0x7f, 0x39, 0xc4, 0xab, 0x27, 0x2a, 0x8d, 0x55, 0xf6, 0x78, 0xe8, 0x3a, 0x34, 0xb0, 0xe7, 0xb9,
|
||||
0x5e, 0xcf, 0xc6, 0x84, 0xe8, 0x03, 0x9e, 0x69, 0xab, 0x5a, 0x9d, 0x01, 0xb7, 0x38, 0x4c, 0xfd,
|
||||
0x2e, 0x07, 0xcd, 0xf0, 0x2a, 0xc1, 0x4f, 0x09, 0xa6, 0x11, 0xfc, 0x94, 0x60, 0x1a, 0x34, 0xeb,
|
||||
0x7b, 0x3c, 0xca, 0x85, 0x7a, 0xab, 0x0a, 0x48, 0xd7, 0xa0, 0x61, 0x9e, 0xfa, 0x8e, 0xe3, 0x1a,
|
||||
0x38, 0xd4, 0x19, 0x04, 0xa0, 0xae, 0x31, 0xae, 0xfa, 0x42, 0x06, 0xd5, 0x17, 0xc7, 0x55, 0x3f,
|
||||
0x0f, 0xa5, 0xbd, 0x51, 0xff, 0x10, 0xfb, 0xcc, 0xfd, 0xaa, 0x9a, 0x58, 0xc5, 0x4d, 0xa2, 0x9c,
|
||||
0x30, 0x09, 0xa9, 0xf9, 0x4a, 0x54, 0xf3, 0x97, 0xa0, 0xca, 0x47, 0xd5, 0x3d, 0x9f, 0xb0, 0x1f,
|
||||
0x02, 0xf2, 0x5a, 0x85, 0x03, 0x76, 0x09, 0x7a, 0x23, 0x28, 0x67, 0x53, 0x07, 0xfb, 0x2c, 0x4e,
|
||||
0x24, 0x94, 0x2f, 0x8a, 0x59, 0xf5, 0x33, 0x40, 0xe1, 0x97, 0xd3, 0xb5, 0x17, 0x09, 0xa9, 0xe6,
|
||||
0x92, 0x52, 0xbd, 0xf5, 0x2b, 0x05, 0xce, 0x8e, 0x55, 0xd5, 0xa8, 0x09, 0xf0, 0x91, 0xd3, 0x17,
|
||||
0xed, 0x46, 0xeb, 0x0c, 0xaa, 0x43, 0x25, 0x68, 0x3e, 0x5a, 0x0a, 0xaa, 0x41, 0x79, 0xd7, 0x65,
|
||||
0xd8, 0xad, 0x1c, 0x6a, 0x41, 0x9d, 0x13, 0x8e, 0xfa, 0x7d, 0x4c, 0x48, 0x2b, 0x2f, 0x21, 0xeb,
|
||||
0xba, 0x69, 0x8d, 0x3c, 0xdc, 0x2a, 0xa0, 0x06, 0x54, 0x77, 0x5d, 0x0d, 0x5b, 0x58, 0x27, 0xb8,
|
||||
0x55, 0x44, 0x08, 0x9a, 0x62, 0x11, 0x10, 0x95, 0x22, 0xb0, 0x80, 0xac, 0x7c, 0x6b, 0x3f, 0x5a,
|
||||
0xa6, 0xd2, 0xda, 0x0d, 0x5d, 0x80, 0x73, 0x1f, 0x39, 0x06, 0xde, 0x37, 0x1d, 0x6c, 0x84, 0x9f,
|
||||
0x5a, 0x67, 0xd0, 0x39, 0x98, 0xeb, 0x3a, 0x0e, 0xf6, 0x22, 0x40, 0x85, 0x02, 0xb7, 0xb0, 0x37,
|
||||
0xc0, 0x11, 0x60, 0x0e, 0x9d, 0x85, 0xc6, 0x96, 0xf9, 0x30, 0x02, 0xca, 0x2f, 0xff, 0xf3, 0x1c,
|
||||
0x54, 0xd7, 0x74, 0x5f, 0x5f, 0x75, 0x5d, 0xcf, 0x40, 0x43, 0x40, 0xec, 0x8d, 0x84, 0x3d, 0x74,
|
||||
0x1d, 0xf9, 0x98, 0x08, 0xbd, 0x32, 0x21, 0xba, 0x8e, 0xa3, 0x8a, 0x54, 0xde, 0xb9, 0x39, 0x81,
|
||||
0x22, 0x81, 0xae, 0x9e, 0x41, 0x36, 0xdb, 0x91, 0xd6, 0xbe, 0xbb, 0x66, 0xff, 0x30, 0xf8, 0x35,
|
||||
0x6c, 0xca, 0x8e, 0x09, 0xd4, 0x60, 0xc7, 0xc4, 0x1b, 0x25, 0xb1, 0xe0, 0x0f, 0x59, 0x02, 0x33,
|
||||
0x52, 0xcf, 0xa0, 0xcf, 0xe1, 0xfc, 0x06, 0xf6, 0xc3, 0xb7, 0x0b, 0xc1, 0x86, 0xcb, 0x93, 0x37,
|
||||
0x1c, 0x43, 0x3e, 0xe6, 0x96, 0x9b, 0x50, 0x64, 0x1d, 0x2c, 0x4a, 0xeb, 0x12, 0xa3, 0x2f, 0x6a,
|
||||
0x3b, 0x8b, 0x93, 0x11, 0x24, 0xb7, 0xcf, 0x60, 0x2e, 0xf1, 0x62, 0x10, 0xbd, 0x98, 0x42, 0x96,
|
||||
0xfe, 0xf6, 0xb3, 0x73, 0x2b, 0x0b, 0xaa, 0xdc, 0x6b, 0x00, 0xcd, 0xf8, 0x0b, 0x0b, 0xb4, 0x94,
|
||||
0x42, 0x9f, 0xfa, 0xda, 0xab, 0xf3, 0x62, 0x06, 0x4c, 0xb9, 0x91, 0x0d, 0xad, 0xe4, 0x0b, 0x36,
|
||||
0x74, 0x6b, 0x2a, 0x83, 0xb8, 0xb9, 0xbd, 0x94, 0x09, 0x57, 0x6e, 0xf7, 0x88, 0x19, 0xc1, 0xd8,
|
||||
0x0b, 0x2a, 0x74, 0x27, 0x9d, 0xcd, 0xa4, 0xa7, 0x5d, 0x9d, 0xbb, 0x99, 0xf1, 0xe5, 0xd6, 0x3f,
|
||||
0xe2, 0x93, 0xb3, 0xb4, 0x57, 0x48, 0xe8, 0xd5, 0x74, 0x76, 0x53, 0x9e, 0x4f, 0x75, 0x96, 0x8f,
|
||||
0x43, 0x22, 0x0f, 0xf1, 0x25, 0x1b, 0x79, 0xa5, 0xbc, 0xe4, 0x49, 0xfa, 0x5d, 0xc0, 0x6f, 0xf2,
|
||||
0x13, 0xa5, 0xce, 0xab, 0xc7, 0xa0, 0x90, 0x07, 0x70, 0x93, 0x6f, 0x04, 0x03, 0x37, 0xbc, 0x3b,
|
||||
0xd3, 0x6a, 0x4e, 0xe6, 0x83, 0x9f, 0xc2, 0x5c, 0xe2, 0x77, 0xc7, 0x54, 0xaf, 0x49, 0xff, 0x6d,
|
||||
0xb2, 0x33, 0x2d, 0xdb, 0x70, 0x97, 0x4c, 0x4c, 0x10, 0xd1, 0x04, 0xeb, 0x4f, 0x99, 0x32, 0x76,
|
||||
0x6e, 0x65, 0x41, 0x95, 0x17, 0x21, 0x2c, 0x5c, 0x26, 0xa6, 0x70, 0xe8, 0x76, 0x3a, 0x8f, 0xf4,
|
||||
0x09, 0x62, 0xe7, 0xe5, 0x8c, 0xd8, 0x72, 0xd3, 0x1e, 0xc0, 0x06, 0xf6, 0xb7, 0xb0, 0xef, 0x51,
|
||||
0x1b, 0xb9, 0x99, 0x2a, 0xf2, 0x10, 0x21, 0xd8, 0xe6, 0x85, 0x99, 0x78, 0x72, 0x83, 0xff, 0x03,
|
||||
0x14, 0xa4, 0xd8, 0xc8, 0xaf, 0xde, 0xd7, 0xa7, 0xce, 0x33, 0xf8, 0xf0, 0x61, 0x96, 0x6e, 0x3e,
|
||||
0x87, 0xd6, 0x96, 0xee, 0xd0, 0x2a, 0x3e, 0xe4, 0x7b, 0x3b, 0xf5, 0x60, 0x49, 0xb4, 0x09, 0xd2,
|
||||
0x9a, 0x88, 0x2d, 0x2f, 0x73, 0x24, 0x73, 0xa8, 0x2e, 0x5d, 0x10, 0x27, 0x63, 0x4b, 0x28, 0x8d,
|
||||
0x04, 0xe2, 0x84, 0xd8, 0x32, 0x05, 0x5f, 0x6e, 0xfc, 0x58, 0x61, 0x2f, 0x51, 0x13, 0x08, 0x9f,
|
||||
0x98, 0xfe, 0xc1, 0xb6, 0xa5, 0x3b, 0x24, 0xcb, 0x11, 0x18, 0xe2, 0x31, 0x8e, 0x20, 0xf0, 0xe5,
|
||||
0x11, 0x0c, 0x68, 0xc4, 0xc6, 0x05, 0x28, 0xed, 0xa7, 0xeb, 0xb4, 0x81, 0x45, 0x67, 0x69, 0x36,
|
||||
0xa2, 0xdc, 0xe5, 0x00, 0x1a, 0x81, 0xbd, 0x72, 0xe1, 0xbe, 0x38, 0xe9, 0xa4, 0x21, 0xce, 0x04,
|
||||
0x77, 0x4b, 0x47, 0x8d, 0xba, 0xdb, 0x78, 0x27, 0x88, 0xb2, 0x4d, 0x10, 0xa6, 0xb9, 0xdb, 0xe4,
|
||||
0xf6, 0x52, 0x3d, 0x83, 0xb6, 0xa1, 0xc4, 0x4b, 0x60, 0x74, 0x65, 0x6a, 0xdd, 0xdc, 0xb9, 0x31,
|
||||
0xf5, 0x73, 0xc8, 0x71, 0xf9, 0x37, 0x45, 0xa8, 0x04, 0xbf, 0x26, 0x3e, 0x83, 0x1a, 0xef, 0x19,
|
||||
0x14, 0x5d, 0x9f, 0xc2, 0x5c, 0xe2, 0xe1, 0x61, 0x6a, 0x4c, 0x4e, 0x7f, 0x9c, 0x38, 0x2b, 0xa8,
|
||||
0x7c, 0x22, 0xfe, 0x1d, 0x49, 0xc6, 0xdf, 0x17, 0x26, 0x15, 0x6e, 0xc9, 0xd0, 0x3b, 0x83, 0xf1,
|
||||
0x53, 0x0f, 0xb4, 0xf7, 0x01, 0x22, 0x81, 0x70, 0xfa, 0xc0, 0x98, 0xfa, 0xf6, 0xac, 0x03, 0xaf,
|
||||
0x67, 0x35, 0xd5, 0xe9, 0x7c, 0x56, 0xee, 0xfd, 0xff, 0xab, 0x03, 0xd3, 0x3f, 0x18, 0xed, 0xd1,
|
||||
0x2f, 0x77, 0x39, 0xea, 0xcb, 0xa6, 0x2b, 0xfe, 0xba, 0x1b, 0x58, 0xc6, 0x5d, 0x46, 0x7d, 0x97,
|
||||
0x32, 0x1f, 0xee, 0xed, 0x95, 0xd8, 0xea, 0xde, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xfc,
|
||||
0x98, 0x50, 0xf8, 0x36, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
|
@ -56,6 +56,7 @@ type importManager struct {
|
|||
cancel context.CancelFunc // reserved
|
||||
taskStore kv.MetaKv // Persistent task info storage.
|
||||
|
||||
// TODO: Make pendingTask a map to improve look up performance.
|
||||
pendingTasks []*datapb.ImportTaskInfo // pending tasks
|
||||
workingTasks map[int64]*datapb.ImportTaskInfo // in-progress tasks
|
||||
pendingLock sync.RWMutex // lock pending task list
|
||||
|
@ -88,33 +89,25 @@ func newImportManager(ctx context.Context, client kv.MetaKv, importService func(
|
|||
func (m *importManager) init() error {
|
||||
// Read tasks from etcd and save them as pendingTasks or workingTasks.
|
||||
m.load()
|
||||
|
||||
// trigger Import() action to DataCoord
|
||||
m.pushTasks()
|
||||
m.sendOutTasks()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *importManager) pushTasks() error {
|
||||
// sendOutTasks pushes all pending tasks to DataCoord, gets DataCoord response and re-add these tasks as working tasks.
|
||||
func (m *importManager) sendOutTasks() error {
|
||||
m.pendingLock.Lock()
|
||||
defer m.pendingLock.Unlock()
|
||||
|
||||
// trigger Import() action to DataCoord
|
||||
for {
|
||||
if len(m.pendingTasks) == 0 {
|
||||
log.Debug("import manger pending task list is empty")
|
||||
break
|
||||
}
|
||||
|
||||
// Trigger Import() action to DataCoord.
|
||||
for len(m.pendingTasks) > 0 {
|
||||
task := m.pendingTasks[0]
|
||||
log.Debug("import manager send import task", zap.Int64("taskID", task.Id))
|
||||
|
||||
dbTask := &datapb.ImportTask{
|
||||
CollectionName: task.GetCollectionId(),
|
||||
PartitionName: task.GetPartitionId(),
|
||||
RowBased: task.GetRowBased(),
|
||||
TaskId: task.GetId(),
|
||||
Files: task.GetFiles(),
|
||||
it := &datapb.ImportTask{
|
||||
CollectionId: task.GetCollectionId(),
|
||||
PartitionId: task.GetPartitionId(),
|
||||
RowBased: task.GetRowBased(),
|
||||
TaskId: task.GetId(),
|
||||
Files: task.GetFiles(),
|
||||
Infos: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: Bucket,
|
||||
|
@ -123,14 +116,17 @@ func (m *importManager) pushTasks() error {
|
|||
},
|
||||
}
|
||||
|
||||
// call DataCoord.Import()
|
||||
resp := m.callImportService(m.ctx, dbTask)
|
||||
log.Debug("sending import task to DataCoord", zap.Int64("taskID", task.GetId()))
|
||||
// Call DataCoord.Import().
|
||||
resp := m.callImportService(m.ctx, it)
|
||||
if resp.Status.ErrorCode == commonpb.ErrorCode_UnexpectedError {
|
||||
log.Debug("import task is rejected", zap.Int64("task ID", dbTask.TaskId))
|
||||
log.Debug("import task is rejected", zap.Int64("task ID", it.GetTaskId()))
|
||||
break
|
||||
}
|
||||
task.DatanodeId = resp.GetDatanodeId()
|
||||
log.Debug("import task is assigned", zap.Int64("task ID", dbTask.TaskId), zap.Int64("datanode id", task.DatanodeId))
|
||||
log.Debug("import task successfully assigned to DataNode",
|
||||
zap.Int64("task ID", it.GetTaskId()),
|
||||
zap.Int64("DataNode ID", task.GetDatanodeId()))
|
||||
|
||||
// erase this task from head of pending list if the callImportService succeed
|
||||
m.pendingTasks = m.pendingTasks[1:]
|
||||
|
@ -139,11 +135,9 @@ func (m *importManager) pushTasks() error {
|
|||
m.workingLock.Lock()
|
||||
defer m.workingLock.Unlock()
|
||||
|
||||
log.Debug("import task was taken to execute", zap.Int64("task ID", dbTask.TaskId))
|
||||
|
||||
// TODO: Guard nil task state.
|
||||
log.Debug("import task added as working task", zap.Int64("task ID", it.TaskId))
|
||||
task.State.StateCode = commonpb.ImportState_ImportPending
|
||||
m.workingTasks[task.Id] = task
|
||||
m.workingTasks[task.GetId()] = task
|
||||
m.updateImportTask(task)
|
||||
}()
|
||||
}
|
||||
|
@ -167,7 +161,9 @@ func (m *importManager) genReqID() int64 {
|
|||
return m.lastReqID
|
||||
}
|
||||
|
||||
func (m *importManager) importJob(req *milvuspb.ImportRequest) *milvuspb.ImportResponse {
|
||||
// importJob processes the import request, generates import tasks, sends these tasks to DataCoord, and returns
|
||||
// immediately.
|
||||
func (m *importManager) importJob(req *milvuspb.ImportRequest, cID int64) *milvuspb.ImportResponse {
|
||||
if req == nil || len(req.Files) == 0 {
|
||||
return &milvuspb.ImportResponse{
|
||||
Status: &commonpb.Status{
|
||||
|
@ -192,7 +188,9 @@ func (m *importManager) importJob(req *milvuspb.ImportRequest) *milvuspb.ImportR
|
|||
},
|
||||
}
|
||||
|
||||
log.Debug("import manager receive request", zap.String("collection", req.GetCollectionName()))
|
||||
log.Debug("request received",
|
||||
zap.String("collection name", req.GetCollectionName()),
|
||||
zap.Int64("collection ID", cID))
|
||||
func() {
|
||||
m.pendingLock.Lock()
|
||||
defer m.pendingLock.Unlock()
|
||||
|
@ -225,14 +223,13 @@ func (m *importManager) importJob(req *milvuspb.ImportRequest) *milvuspb.ImportR
|
|||
reqID := m.genReqID()
|
||||
// convert import request to import tasks
|
||||
if req.RowBased {
|
||||
// for row-based, each file is a task
|
||||
// For row-based importing, each file makes a task.
|
||||
taskList := make([]int64, len(req.Files))
|
||||
for i := 0; i < len(req.Files); i++ {
|
||||
newTask := &datapb.ImportTaskInfo{
|
||||
Id: m.nextTaskID,
|
||||
RequestId: reqID,
|
||||
CollectionId: req.GetCollectionName(),
|
||||
PartitionId: req.GetPartitionName(),
|
||||
CollectionId: cID,
|
||||
Bucket: bucket,
|
||||
RowBased: req.GetRowBased(),
|
||||
Files: []string{req.GetFiles()[i]},
|
||||
|
@ -241,20 +238,20 @@ func (m *importManager) importJob(req *milvuspb.ImportRequest) *milvuspb.ImportR
|
|||
StateCode: commonpb.ImportState_ImportPending,
|
||||
},
|
||||
}
|
||||
|
||||
taskList[i] = newTask.GetId()
|
||||
m.nextTaskID++
|
||||
log.Info("new task created as pending task", zap.Int64("task ID", newTask.GetId()))
|
||||
m.pendingTasks = append(m.pendingTasks, newTask)
|
||||
m.saveImportTask(newTask)
|
||||
}
|
||||
log.Info("process row-based import request", zap.Int64("reqID", reqID), zap.Any("taskIDs", taskList))
|
||||
log.Info("row-based import request processed", zap.Int64("reqID", reqID), zap.Any("taskIDs", taskList))
|
||||
} else {
|
||||
// TODO: Merge duplicated code :(
|
||||
// for column-based, all files is a task
|
||||
newTask := &datapb.ImportTaskInfo{
|
||||
Id: m.nextTaskID,
|
||||
RequestId: reqID,
|
||||
CollectionId: req.GetCollectionName(),
|
||||
PartitionId: req.GetPartitionName(),
|
||||
CollectionId: cID,
|
||||
Bucket: bucket,
|
||||
RowBased: req.GetRowBased(),
|
||||
Files: req.GetFiles(),
|
||||
|
@ -264,55 +261,56 @@ func (m *importManager) importJob(req *milvuspb.ImportRequest) *milvuspb.ImportR
|
|||
},
|
||||
}
|
||||
m.nextTaskID++
|
||||
log.Info("new task created as pending task", zap.Int64("task ID", newTask.GetId()))
|
||||
m.pendingTasks = append(m.pendingTasks, newTask)
|
||||
m.saveImportTask(newTask)
|
||||
log.Info("process column-based import request", zap.Int64("reqID", reqID), zap.Int64("taskID", newTask.Id))
|
||||
log.Info("column-based import request processed", zap.Int64("reqID", reqID), zap.Int64("taskID", newTask.GetId()))
|
||||
}
|
||||
}()
|
||||
|
||||
m.pushTasks()
|
||||
|
||||
m.sendOutTasks()
|
||||
return resp
|
||||
}
|
||||
|
||||
func (m *importManager) updateTaskState(state *rootcoordpb.ImportResult) error {
|
||||
if state == nil {
|
||||
return errors.New("import task state is nil")
|
||||
// updateTaskState updates the task's state in task store given ImportResult result, and returns the ImportTaskInfo of
|
||||
// the given task.
|
||||
func (m *importManager) updateTaskState(ir *rootcoordpb.ImportResult) (*datapb.ImportTaskInfo, error) {
|
||||
if ir == nil {
|
||||
return nil, errors.New("import result is nil")
|
||||
}
|
||||
|
||||
log.Debug("import manager update task state", zap.Int64("taskID", state.GetTaskId()))
|
||||
log.Debug("import manager update task import result", zap.Int64("taskID", ir.GetTaskId()))
|
||||
|
||||
found := false
|
||||
var v *datapb.ImportTaskInfo
|
||||
func() {
|
||||
m.workingLock.Lock()
|
||||
defer m.workingLock.Unlock()
|
||||
|
||||
for k, v := range m.workingTasks {
|
||||
if state.TaskId == k {
|
||||
found = true
|
||||
v.State.StateCode = state.GetState()
|
||||
v.State.Segments = state.GetSegments()
|
||||
v.State.RowCount = state.GetRowCount()
|
||||
for _, kv := range state.GetInfos() {
|
||||
if kv.GetKey() == FailedReason {
|
||||
v.State.ErrorMessage = kv.GetValue()
|
||||
break
|
||||
}
|
||||
ok := false
|
||||
if v, ok = m.workingTasks[ir.TaskId]; ok {
|
||||
found = true
|
||||
v.State.StateCode = ir.GetState()
|
||||
v.State.Segments = ir.GetSegments()
|
||||
v.State.RowCount = ir.GetRowCount()
|
||||
for _, kv := range ir.GetInfos() {
|
||||
if kv.GetKey() == FailedReason {
|
||||
v.State.ErrorMessage = kv.GetValue()
|
||||
break
|
||||
}
|
||||
// Update task in task store.
|
||||
m.updateImportTask(v)
|
||||
}
|
||||
// Update task in task store.
|
||||
m.updateImportTask(v)
|
||||
}
|
||||
m.updateImportTask(v)
|
||||
}()
|
||||
|
||||
if !found {
|
||||
log.Debug("import manager update task state failed", zap.Int64("taskID", state.GetTaskId()))
|
||||
return errors.New("failed to update import task, id not found: " + strconv.FormatInt(state.TaskId, 10))
|
||||
log.Debug("import manager update task import result failed", zap.Int64("taskID", ir.GetTaskId()))
|
||||
return nil, errors.New("failed to update import task, ID not found: " + strconv.FormatInt(ir.TaskId, 10))
|
||||
}
|
||||
return nil
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func (m *importManager) getTaskState(id int64) *milvuspb.GetImportStateResponse {
|
||||
// getTaskState looks for task with the given ID and returns its import state.
|
||||
func (m *importManager) getTaskState(tID int64) *milvuspb.GetImportStateResponse {
|
||||
resp := &milvuspb.GetImportStateResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
|
@ -320,15 +318,13 @@ func (m *importManager) getTaskState(id int64) *milvuspb.GetImportStateResponse
|
|||
},
|
||||
}
|
||||
|
||||
log.Debug("import manager get task state", zap.Int64("taskID", id))
|
||||
|
||||
log.Debug("getting import task state", zap.Int64("taskID", tID))
|
||||
found := false
|
||||
func() {
|
||||
m.pendingLock.Lock()
|
||||
defer m.pendingLock.Unlock()
|
||||
|
||||
for i := 0; i < len(m.pendingTasks); i++ {
|
||||
if id == m.pendingTasks[i].Id {
|
||||
if tID == m.pendingTasks[i].Id {
|
||||
resp.Status = &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
}
|
||||
|
@ -338,7 +334,6 @@ func (m *importManager) getTaskState(id int64) *milvuspb.GetImportStateResponse
|
|||
}
|
||||
}
|
||||
}()
|
||||
|
||||
if found {
|
||||
return resp
|
||||
}
|
||||
|
@ -346,36 +341,33 @@ func (m *importManager) getTaskState(id int64) *milvuspb.GetImportStateResponse
|
|||
func() {
|
||||
m.workingLock.Lock()
|
||||
defer m.workingLock.Unlock()
|
||||
|
||||
for k, v := range m.workingTasks {
|
||||
if id == k {
|
||||
found = true
|
||||
resp.Status = &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
}
|
||||
resp.State = v.GetState().GetStateCode()
|
||||
resp.RowCount = v.GetState().GetRowCount()
|
||||
resp.IdList = v.GetState().GetRowIds()
|
||||
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: FailedReason, Value: v.GetState().GetErrorMessage()})
|
||||
|
||||
break
|
||||
if v, ok := m.workingTasks[tID]; ok {
|
||||
found = true
|
||||
resp.Status = &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
}
|
||||
resp.State = v.GetState().GetStateCode()
|
||||
resp.RowCount = v.GetState().GetRowCount()
|
||||
resp.IdList = v.GetState().GetRowIds()
|
||||
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{
|
||||
Key: FailedReason,
|
||||
Value: v.GetState().GetErrorMessage(),
|
||||
})
|
||||
}
|
||||
}()
|
||||
|
||||
if !found {
|
||||
log.Debug("import manager get task state failed", zap.Int64("taskID", id))
|
||||
if found {
|
||||
return resp
|
||||
}
|
||||
|
||||
log.Debug("get import task state failed", zap.Int64("taskID", tID))
|
||||
return resp
|
||||
}
|
||||
|
||||
// load Loads task info from Etcd when RootCoord (re)starts.
|
||||
// load Loads task info from task store when RootCoord (re)starts.
|
||||
func (m *importManager) load() error {
|
||||
log.Info("Import manager starts loading from Etcd")
|
||||
log.Info("import manager starts loading from Etcd")
|
||||
_, v, err := m.taskStore.LoadWithPrefix(Params.RootCoordCfg.ImportTaskSubPath)
|
||||
if err != nil {
|
||||
log.Error("RootCoord Import manager failed to load from Etcd", zap.Error(err))
|
||||
log.Error("import manager failed to load from Etcd", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
m.workingLock.Lock()
|
||||
|
@ -385,17 +377,17 @@ func (m *importManager) load() error {
|
|||
for i := range v {
|
||||
ti := &datapb.ImportTaskInfo{}
|
||||
if err := proto.Unmarshal([]byte(v[i]), ti); err != nil {
|
||||
log.Error("Failed to unmarshal proto", zap.String("taskInfo", v[i]), zap.Error(err))
|
||||
log.Error("failed to unmarshal proto", zap.String("taskInfo", v[i]), zap.Error(err))
|
||||
// Ignore bad protos.
|
||||
continue
|
||||
}
|
||||
// Put tasks back to pending or working task list, given their import states.
|
||||
if ti.GetState().GetStateCode() == commonpb.ImportState_ImportPending {
|
||||
log.Info("Task has been reloaded as a pending task", zap.Int64("TaskID", ti.Id))
|
||||
log.Info("task has been reloaded as a pending task", zap.Int64("TaskID", ti.GetId()))
|
||||
m.pendingTasks = append(m.pendingTasks, ti)
|
||||
} else {
|
||||
log.Info("Task has been reloaded as a working tasks", zap.Int64("TaskID", ti.Id))
|
||||
m.workingTasks[ti.Id] = ti
|
||||
log.Info("task has been reloaded as a working tasks", zap.Int64("TaskID", ti.GetId()))
|
||||
m.workingTasks[ti.GetId()] = ti
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
@ -403,41 +395,51 @@ func (m *importManager) load() error {
|
|||
|
||||
// saveImportTask signs a lease and saves import task info into Etcd with this lease.
|
||||
func (m *importManager) saveImportTask(task *datapb.ImportTaskInfo) error {
|
||||
log.Info("Saving import task to Etcd", zap.Int64("Task ID", task.Id))
|
||||
log.Debug("saving import task to Etcd", zap.Int64("Task ID", task.GetId()))
|
||||
// TODO: Change default lease time and read it into config, once we figure out a proper value.
|
||||
// Sign a lease.
|
||||
leaseID, err := m.taskStore.Grant(10800) /*3 hours*/
|
||||
if err != nil {
|
||||
log.Error("Failed to grant lease from Etcd for data import.", zap.Int64("Task ID", task.Id), zap.Error(err))
|
||||
log.Error("failed to grant lease from Etcd for data import",
|
||||
zap.Int64("Task ID", task.GetId()),
|
||||
zap.Error(err))
|
||||
return err
|
||||
}
|
||||
log.Info("Lease granted for task", zap.Int64("Task ID", task.Id))
|
||||
log.Debug("lease granted for task", zap.Int64("Task ID", task.GetId()))
|
||||
var taskInfo []byte
|
||||
if taskInfo, err = proto.Marshal(task); err != nil {
|
||||
log.Error("Failed to marshall task proto", zap.Int64("Task ID", task.Id), zap.Error(err))
|
||||
log.Error("failed to marshall task proto", zap.Int64("Task ID", task.GetId()), zap.Error(err))
|
||||
return err
|
||||
} else if err = m.taskStore.SaveWithLease(BuildImportTaskKey(task.Id), string(taskInfo), leaseID); err != nil {
|
||||
log.Error("Failed to save import task info into Etcd", zap.Int64("Task ID", task.Id), zap.Error(err))
|
||||
} else if err = m.taskStore.SaveWithLease(BuildImportTaskKey(task.GetId()), string(taskInfo), leaseID); err != nil {
|
||||
log.Error("failed to save import task info into Etcd",
|
||||
zap.Int64("task ID", task.GetId()),
|
||||
zap.Error(err))
|
||||
return err
|
||||
}
|
||||
log.Info("Task info successfully saved.", zap.Int64("Task ID", task.Id))
|
||||
log.Debug("task info successfully saved", zap.Int64("Task ID", task.GetId()))
|
||||
return nil
|
||||
}
|
||||
|
||||
// updateImportTask updates the task info in Etcd according to task ID. It won't change the lease on the key.
|
||||
func (m *importManager) updateImportTask(task *datapb.ImportTaskInfo) error {
|
||||
log.Info("Updating import task.", zap.Int64("Task ID", task.Id))
|
||||
if taskInfo, err := proto.Marshal(task); err != nil {
|
||||
log.Error("Failed to marshall task proto.", zap.Int64("Task ID", task.Id), zap.Error(err))
|
||||
func (m *importManager) updateImportTask(ti *datapb.ImportTaskInfo) error {
|
||||
log.Debug("updating import task info in Etcd", zap.Int64("Task ID", ti.GetId()))
|
||||
if taskInfo, err := proto.Marshal(ti); err != nil {
|
||||
log.Error("failed to marshall task info proto", zap.Int64("Task ID", ti.GetId()), zap.Error(err))
|
||||
return err
|
||||
} else if err = m.taskStore.SaveWithIgnoreLease(BuildImportTaskKey(task.Id), string(taskInfo)); err != nil {
|
||||
log.Error("Failed to update import task info in Etcd.", zap.Int64("Task ID", task.Id), zap.Error(err))
|
||||
} else if err = m.taskStore.SaveWithIgnoreLease(BuildImportTaskKey(ti.GetId()), string(taskInfo)); err != nil {
|
||||
log.Error("failed to update import task info info in Etcd", zap.Int64("Task ID", ti.GetId()), zap.Error(err))
|
||||
return err
|
||||
}
|
||||
log.Info("Task info successfully updated.", zap.Int64("Task ID", task.Id))
|
||||
log.Debug("task info successfully updated in Etcd", zap.Int64("Task ID", ti.GetId()))
|
||||
return nil
|
||||
}
|
||||
|
||||
// bringSegmentsOnline brings the segments online so that data in these segments become searchable.
|
||||
func (m *importManager) bringSegmentsOnline(ti *datapb.ImportTaskInfo) {
|
||||
log.Info("Bringing import tasks segments online!", zap.Int64("Task ID", ti.GetId()))
|
||||
// TODO: Implement it.
|
||||
}
|
||||
|
||||
// BuildImportTaskKey constructs and returns an Etcd key with given task ID.
|
||||
func BuildImportTaskKey(taskID int64) string {
|
||||
return fmt.Sprintf("%s%s%d", Params.RootCoordCfg.ImportTaskSubPath, delimiter, taskID)
|
||||
|
|
|
@ -70,10 +70,11 @@ func TestImportManager_NewImportManager(t *testing.T) {
|
|||
|
||||
func TestImportManager_ImportJob(t *testing.T) {
|
||||
Params.RootCoordCfg.ImportTaskSubPath = "test_import_task"
|
||||
colID := int64(100)
|
||||
mockKv := &kv.MockMetaKV{}
|
||||
mockKv.InMemKv = make(map[string]string)
|
||||
mgr := newImportManager(context.TODO(), mockKv, nil)
|
||||
resp := mgr.importJob(nil)
|
||||
resp := mgr.importJob(nil, colID)
|
||||
assert.NotEqual(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
|
||||
|
||||
rowReq := &milvuspb.ImportRequest{
|
||||
|
@ -83,7 +84,7 @@ func TestImportManager_ImportJob(t *testing.T) {
|
|||
Files: []string{"f1", "f2", "f3"},
|
||||
}
|
||||
|
||||
resp = mgr.importJob(rowReq)
|
||||
resp = mgr.importJob(rowReq, colID)
|
||||
assert.NotEqual(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
|
||||
|
||||
colReq := &milvuspb.ImportRequest{
|
||||
|
@ -108,12 +109,12 @@ func TestImportManager_ImportJob(t *testing.T) {
|
|||
}
|
||||
|
||||
mgr = newImportManager(context.TODO(), mockKv, fn)
|
||||
resp = mgr.importJob(rowReq)
|
||||
resp = mgr.importJob(rowReq, colID)
|
||||
assert.Equal(t, len(rowReq.Files), len(mgr.pendingTasks))
|
||||
assert.Equal(t, 0, len(mgr.workingTasks))
|
||||
|
||||
mgr = newImportManager(context.TODO(), mockKv, fn)
|
||||
resp = mgr.importJob(colReq)
|
||||
resp = mgr.importJob(colReq, colID)
|
||||
assert.Equal(t, 1, len(mgr.pendingTasks))
|
||||
assert.Equal(t, 0, len(mgr.workingTasks))
|
||||
|
||||
|
@ -126,12 +127,12 @@ func TestImportManager_ImportJob(t *testing.T) {
|
|||
}
|
||||
|
||||
mgr = newImportManager(context.TODO(), mockKv, fn)
|
||||
resp = mgr.importJob(rowReq)
|
||||
resp = mgr.importJob(rowReq, colID)
|
||||
assert.Equal(t, 0, len(mgr.pendingTasks))
|
||||
assert.Equal(t, len(rowReq.Files), len(mgr.workingTasks))
|
||||
|
||||
mgr = newImportManager(context.TODO(), mockKv, fn)
|
||||
resp = mgr.importJob(colReq)
|
||||
resp = mgr.importJob(colReq, colID)
|
||||
assert.Equal(t, 0, len(mgr.pendingTasks))
|
||||
assert.Equal(t, 1, len(mgr.workingTasks))
|
||||
|
||||
|
@ -153,13 +154,14 @@ func TestImportManager_ImportJob(t *testing.T) {
|
|||
}
|
||||
|
||||
mgr = newImportManager(context.TODO(), mockKv, fn)
|
||||
resp = mgr.importJob(rowReq)
|
||||
resp = mgr.importJob(rowReq, colID)
|
||||
assert.Equal(t, len(rowReq.Files)-2, len(mgr.pendingTasks))
|
||||
assert.Equal(t, 2, len(mgr.workingTasks))
|
||||
}
|
||||
|
||||
func TestImportManager_TaskState(t *testing.T) {
|
||||
Params.RootCoordCfg.ImportTaskSubPath = "test_import_task"
|
||||
colID := int64(100)
|
||||
mockKv := &kv.MockMetaKV{}
|
||||
mockKv.InMemKv = make(map[string]string)
|
||||
fn := func(ctx context.Context, req *datapb.ImportTask) *datapb.ImportTaskResponse {
|
||||
|
@ -178,12 +180,12 @@ func TestImportManager_TaskState(t *testing.T) {
|
|||
}
|
||||
|
||||
mgr := newImportManager(context.TODO(), mockKv, fn)
|
||||
mgr.importJob(rowReq)
|
||||
mgr.importJob(rowReq, colID)
|
||||
|
||||
state := &rootcoordpb.ImportResult{
|
||||
TaskId: 10000,
|
||||
}
|
||||
err := mgr.updateTaskState(state)
|
||||
_, err := mgr.updateTaskState(state)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
state = &rootcoordpb.ImportResult{
|
||||
|
@ -201,8 +203,16 @@ func TestImportManager_TaskState(t *testing.T) {
|
|||
},
|
||||
},
|
||||
}
|
||||
err = mgr.updateTaskState(state)
|
||||
assert.Nil(t, err)
|
||||
ti, err := mgr.updateTaskState(state)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(1), ti.GetId())
|
||||
assert.Equal(t, int64(100), ti.GetCollectionId())
|
||||
assert.Equal(t, int64(100), ti.GetCollectionId())
|
||||
assert.Equal(t, int64(0), ti.GetPartitionId())
|
||||
assert.Equal(t, true, ti.GetRowBased())
|
||||
assert.Equal(t, []string{"f2"}, ti.GetFiles())
|
||||
assert.Equal(t, commonpb.ImportState_ImportCompleted, ti.GetState().GetStateCode())
|
||||
assert.Equal(t, int64(1000), ti.GetState().GetRowCount())
|
||||
|
||||
resp := mgr.getTaskState(10000)
|
||||
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.Status.ErrorCode)
|
||||
|
|
|
@ -84,7 +84,11 @@ func metricProxy(v int64) string {
|
|||
return fmt.Sprintf("client_%d", v)
|
||||
}
|
||||
|
||||
var Params paramtable.ComponentParam
|
||||
var (
|
||||
Params paramtable.ComponentParam
|
||||
CheckCompleteIndexInterval = 3 * time.Minute
|
||||
TaskTimeLimit = 3 * time.Hour
|
||||
)
|
||||
|
||||
// Core root coordinator core
|
||||
type Core struct {
|
||||
|
@ -833,13 +837,13 @@ func (c *Core) SetIndexCoord(s types.IndexCoord) error {
|
|||
log.Error("RootCoord failed to get index states from IndexCoord.", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
log.Debug("got index states", zap.String("get index state result", res.String()))
|
||||
if res.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success {
|
||||
log.Error("Get index states failed.",
|
||||
zap.String("error_code", res.GetStatus().GetErrorCode().String()),
|
||||
zap.String("reason", res.GetStatus().GetReason()))
|
||||
return nil, fmt.Errorf(res.GetStatus().GetErrorCode().String())
|
||||
}
|
||||
log.Debug("Successfully got index states.")
|
||||
return res.GetStates(), nil
|
||||
}
|
||||
return nil
|
||||
|
@ -2230,7 +2234,7 @@ func (c *Core) AlterAlias(ctx context.Context, in *milvuspb.AlterAliasRequest) (
|
|||
return succStatus(), nil
|
||||
}
|
||||
|
||||
// Import data files(json, numpy, etc.) on MinIO/S3 storage, read and parse them into sealed segments
|
||||
// Import imports large files (json, numpy, etc.) on MinIO/S3 storage into Milvus storage.
|
||||
func (c *Core) Import(ctx context.Context, req *milvuspb.ImportRequest) (*milvuspb.ImportResponse, error) {
|
||||
if code, ok := c.checkHealthy(); !ok {
|
||||
return &milvuspb.ImportResponse{
|
||||
|
@ -2238,11 +2242,25 @@ func (c *Core) Import(ctx context.Context, req *milvuspb.ImportRequest) (*milvus
|
|||
}, nil
|
||||
}
|
||||
|
||||
log.Info("receive import request")
|
||||
resp := c.importManager.importJob(req)
|
||||
// Get collection/partition ID from collection/partition name.
|
||||
var cID int64
|
||||
var ok bool
|
||||
if cID, ok = c.MetaTable.collName2ID[req.GetCollectionName()]; !ok {
|
||||
log.Error("failed to find collection ID for collection name",
|
||||
zap.String("collection name", req.GetCollectionName()))
|
||||
return nil, fmt.Errorf("collection ID not found for collection name %s", req.GetCollectionName())
|
||||
}
|
||||
log.Info("receive import request",
|
||||
zap.String("collection name", req.GetCollectionName()),
|
||||
zap.Int64("collection ID", cID),
|
||||
zap.String("partition name", req.GetPartitionName()),
|
||||
zap.Int("# of files = ", len(req.GetFiles())),
|
||||
)
|
||||
resp := c.importManager.importJob(req, cID)
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// TODO: Implement this.
|
||||
// Check import task state from datanode
|
||||
func (c *Core) GetImportState(ctx context.Context, req *milvuspb.GetImportStateRequest) (*milvuspb.GetImportStateResponse, error) {
|
||||
if code, ok := c.checkHealthy(); !ok {
|
||||
|
@ -2261,21 +2279,39 @@ func (c *Core) GetImportState(ctx context.Context, req *milvuspb.GetImportStateR
|
|||
return resp, nil
|
||||
}
|
||||
|
||||
// Report impot task state to rootcoord
|
||||
// ReportImport reports import task state to RootCoord.
|
||||
func (c *Core) ReportImport(ctx context.Context, req *rootcoordpb.ImportResult) (*commonpb.Status, error) {
|
||||
if code, ok := c.checkHealthy(); !ok {
|
||||
return failStatus(commonpb.ErrorCode_UnexpectedError, "StateCode="+internalpb.StateCode_name[int32(code)]), nil
|
||||
}
|
||||
|
||||
log.Info("receive import state report")
|
||||
|
||||
err := c.importManager.updateTaskState(req)
|
||||
// Upon receiving ReportImport request, update the related task's state in task store.
|
||||
ti, err := c.importManager.updateTaskState(req)
|
||||
if err != nil {
|
||||
return &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
ErrorCode: commonpb.ErrorCode_UpdateImportTaskFailure,
|
||||
Reason: err.Error(),
|
||||
}, nil
|
||||
}
|
||||
// Reverse look up collection name on collection ID.
|
||||
var colName string
|
||||
for k, v := range c.MetaTable.collName2ID {
|
||||
if v == ti.GetCollectionId() {
|
||||
colName = k
|
||||
}
|
||||
}
|
||||
if colName == "" {
|
||||
log.Error("Collection name not found for collection ID", zap.Int64("collection ID", ti.GetCollectionId()))
|
||||
return &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_CollectionNameNotFound,
|
||||
Reason: "Collection name not found for collection ID" + strconv.FormatInt(ti.GetCollectionId(), 10),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// Start a loop to check segments' index states periodically.
|
||||
c.wg.Add(1)
|
||||
go c.CheckCompleteIndexLoop(ctx, ti, colName, req.Segments)
|
||||
|
||||
return &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
|
@ -2300,7 +2336,7 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
log.Debug("Got index description", zap.String("index_description", indexDescriptionResp.String()))
|
||||
log.Debug("got index description", zap.String("index_description", indexDescriptionResp.String()))
|
||||
|
||||
// Check if the target index name exists.
|
||||
matchIndexID := int64(-1)
|
||||
|
@ -2315,6 +2351,7 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
if !foundIndexID {
|
||||
return 0, fmt.Errorf("no index is created")
|
||||
}
|
||||
log.Debug("found match index ID", zap.Int64("match index ID", matchIndexID))
|
||||
|
||||
getIndexStatesRequest := &indexpb.GetIndexStatesRequest{
|
||||
IndexBuildIDs: make([]UniqueID, 0),
|
||||
|
@ -2331,6 +2368,9 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
}
|
||||
segmentDesc, err := c.DescribeSegment(ctx, describeSegmentRequest)
|
||||
if err != nil {
|
||||
log.Error("Failed to describe segment",
|
||||
zap.Int64("collection ID", collectionID),
|
||||
zap.Int64("segment ID", segmentID))
|
||||
return 0, err
|
||||
}
|
||||
if segmentDesc.IndexID == matchIndexID {
|
||||
|
@ -2339,16 +2379,15 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
}
|
||||
}
|
||||
}
|
||||
log.Debug("Proxy GetIndexState", zap.Int("IndexBuildIDs", len(getIndexStatesRequest.IndexBuildIDs)), zap.Error(err))
|
||||
log.Debug("proxy GetIndexState", zap.Int("# of IndexBuildIDs", len(getIndexStatesRequest.IndexBuildIDs)), zap.Error(err))
|
||||
|
||||
// Return early on empty results.
|
||||
if len(getIndexStatesRequest.IndexBuildIDs) == 0 {
|
||||
log.Info("Empty index build IDs returned.", zap.String("collection name", collectionName), zap.Int64("collection ID", collectionID))
|
||||
log.Info("empty index build IDs returned", zap.String("collection name", collectionName), zap.Int64("collection ID", collectionID))
|
||||
return 0, nil
|
||||
}
|
||||
states, err := c.CallGetIndexStatesService(ctx, getIndexStatesRequest.IndexBuildIDs)
|
||||
if err != nil {
|
||||
log.Error("Failed to get index state in checkSegmentIndexStates.", zap.Error(err))
|
||||
log.Error("failed to get index state in checkSegmentIndexStates", zap.Error(err))
|
||||
return 0, err
|
||||
}
|
||||
|
||||
|
@ -2359,7 +2398,7 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
ct++
|
||||
}
|
||||
}
|
||||
log.Info("Segment indexing state checked.",
|
||||
log.Info("segment indexing state checked",
|
||||
zap.Int("# of checked segment", len(states)),
|
||||
zap.Int("# of segments with complete index", ct),
|
||||
zap.String("collection name", collectionName),
|
||||
|
@ -2367,3 +2406,50 @@ func (c *Core) CountCompleteIndex(ctx context.Context, collectionName string, co
|
|||
)
|
||||
return ct, nil
|
||||
}
|
||||
|
||||
// CheckCompleteIndexLoop checks index build states for an import task's segments and bring these segments online when
|
||||
// the criteria are met. CheckCompleteIndexLoop does the check every CheckCompleteIndexInterval and exits if:
|
||||
// (1) a certain percent of indices are built, (2) when context is done or (3) when the task is expired.
|
||||
func (c *Core) CheckCompleteIndexLoop(ctx context.Context, ti *datapb.ImportTaskInfo, colName string, segIDs []UniqueID) {
|
||||
defer c.wg.Done()
|
||||
ticker := time.NewTicker(CheckCompleteIndexInterval)
|
||||
spent := time.Duration(time.Unix(time.Now().Unix()-ti.GetCreateTs(), 0).Nanosecond())
|
||||
log.Info("reporting task time left",
|
||||
zap.Int64("task ID", ti.GetId()),
|
||||
zap.Int64("minutes remaining", int64((TaskTimeLimit-spent).Minutes())))
|
||||
// TODO: Replace with real task time limit.
|
||||
expireTicker := time.NewTicker(TaskTimeLimit - spent)
|
||||
for {
|
||||
select {
|
||||
case <-c.ctx.Done():
|
||||
log.Info("(in loop)context done, exiting CheckCompleteIndexLoop", zap.Int64("task ID", ti.GetId()))
|
||||
return
|
||||
case <-ticker.C:
|
||||
log.Info("(in loop)check segments' index states", zap.Int64("task ID", ti.GetId()))
|
||||
if ct, err := c.CountCompleteIndex(ctx, colName, ti.GetCollectionId(), segIDs); err == nil &&
|
||||
segmentsOnlineReady(ct, len(segIDs)) {
|
||||
log.Info("(in loop)segment indices are ready",
|
||||
zap.Int64("task ID", ti.GetId()),
|
||||
zap.Int("total # of segments", len(segIDs)),
|
||||
zap.Int("# of segments with index ready", ct))
|
||||
c.importManager.bringSegmentsOnline(ti)
|
||||
return
|
||||
}
|
||||
case <-expireTicker.C:
|
||||
log.Info("(in loop)task has expired, stop waiting for segment results", zap.Int64("task ID", ti.GetId()))
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// segmentsOnlineReady returns true if segments are ready to go up online (a.k.a. searchable).
|
||||
func segmentsOnlineReady(idxBuilt, segCount int) bool {
|
||||
// Consider segments are ready when:
|
||||
// (1) all but up to 2 segments have indices ready, or
|
||||
// (2) over 85% of segments have indices ready.
|
||||
if segCount-idxBuilt <= 2 || float64(idxBuilt)/float64(segCount) > 0.85 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/milvus-io/milvus/internal/common"
|
||||
"github.com/milvus-io/milvus/internal/kv"
|
||||
|
@ -61,6 +63,8 @@ const (
|
|||
returnUnsuccessfulStatus = "ReturnUnsuccessfulStatus"
|
||||
)
|
||||
|
||||
var disabledIndexBuildID []int64
|
||||
|
||||
type ctxKey struct{}
|
||||
|
||||
type proxyMock struct {
|
||||
|
@ -264,8 +268,10 @@ func (idx *indexMock) getFileArray() []string {
|
|||
func (idx *indexMock) GetIndexStates(ctx context.Context, req *indexpb.GetIndexStatesRequest) (*indexpb.GetIndexStatesResponse, error) {
|
||||
v := ctx.Value(ctxKey{}).(string)
|
||||
if v == returnError {
|
||||
log.Debug("(testing) simulating injected error")
|
||||
return nil, fmt.Errorf("injected error")
|
||||
} else if v == returnUnsuccessfulStatus {
|
||||
log.Debug("(testing) simulating unsuccessful status")
|
||||
return &indexpb.GetIndexStatesResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: 100,
|
||||
|
@ -279,10 +285,23 @@ func (idx *indexMock) GetIndexStates(ctx context.Context, req *indexpb.GetIndexS
|
|||
Reason: "all good",
|
||||
},
|
||||
}
|
||||
for range req.IndexBuildIDs {
|
||||
resp.States = append(resp.States, &indexpb.IndexInfo{
|
||||
State: commonpb.IndexState_Finished,
|
||||
})
|
||||
log.Debug(fmt.Sprint("(testing) getting index state for index build IDs:", req.IndexBuildIDs))
|
||||
log.Debug(fmt.Sprint("(testing) banned index build IDs:", disabledIndexBuildID))
|
||||
for _, id := range req.IndexBuildIDs {
|
||||
ban := false
|
||||
for _, disabled := range disabledIndexBuildID {
|
||||
if disabled == id {
|
||||
ban = true
|
||||
resp.States = append(resp.States, &indexpb.IndexInfo{
|
||||
State: commonpb.IndexState_InProgress,
|
||||
})
|
||||
}
|
||||
}
|
||||
if !ban {
|
||||
resp.States = append(resp.States, &indexpb.IndexInfo{
|
||||
State: commonpb.IndexState_Finished,
|
||||
})
|
||||
}
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
|
@ -605,6 +624,9 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
CheckCompleteIndexInterval = 100 * time.Millisecond
|
||||
TaskTimeLimit = 200 * time.Millisecond
|
||||
|
||||
coreFactory := msgstream.NewPmsFactory()
|
||||
Params.Init()
|
||||
Params.RootCoordCfg.DmlChannelNum = TestDMLChannelNum
|
||||
|
@ -1063,7 +1085,7 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Nil(t, err)
|
||||
partID := coll.PartitionIDs[1]
|
||||
dm.mu.Lock()
|
||||
dm.segs = []typeutil.UniqueID{1000, 1001, 1002}
|
||||
dm.segs = []typeutil.UniqueID{1000, 1001, 1002, 1003, 1004, 1005}
|
||||
dm.mu.Unlock()
|
||||
|
||||
req := &milvuspb.ShowSegmentsRequest{
|
||||
|
@ -1073,7 +1095,7 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
Timestamp: 170,
|
||||
SourceID: 170,
|
||||
},
|
||||
CollectionID: coll.ID,
|
||||
CollectionID: coll.GetID(),
|
||||
PartitionID: partID,
|
||||
}
|
||||
rsp, err := core.ShowSegments(ctx, req)
|
||||
|
@ -1082,7 +1104,10 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Equal(t, int64(1000), rsp.SegmentIDs[0])
|
||||
assert.Equal(t, int64(1001), rsp.SegmentIDs[1])
|
||||
assert.Equal(t, int64(1002), rsp.SegmentIDs[2])
|
||||
assert.Equal(t, 3, len(rsp.SegmentIDs))
|
||||
assert.Equal(t, int64(1003), rsp.SegmentIDs[3])
|
||||
assert.Equal(t, int64(1004), rsp.SegmentIDs[4])
|
||||
assert.Equal(t, int64(1005), rsp.SegmentIDs[5])
|
||||
assert.Equal(t, 6, len(rsp.SegmentIDs))
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
|
@ -1114,9 +1139,12 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.ErrorCode)
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
files := im.getFileArray()
|
||||
assert.Equal(t, 3*3, len(files))
|
||||
assert.Equal(t, 6*3, len(files))
|
||||
assert.ElementsMatch(t, files,
|
||||
[]string{"file0-100", "file1-100", "file2-100",
|
||||
"file0-100", "file1-100", "file2-100",
|
||||
"file0-100", "file1-100", "file2-100",
|
||||
"file0-100", "file1-100", "file2-100",
|
||||
"file0-100", "file1-100", "file2-100",
|
||||
"file0-100", "file1-100", "file2-100"})
|
||||
collMeta, err = core.MetaTable.GetCollectionByName(collName, 0)
|
||||
|
@ -1262,6 +1290,127 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Equal(t, Params.CommonCfg.DefaultIndexName, rsp.IndexDescriptions[0].IndexName)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("import", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &milvuspb.ImportRequest{
|
||||
CollectionName: collName,
|
||||
PartitionName: partName,
|
||||
RowBased: true,
|
||||
Files: []string{"f1", "f2", "f3"},
|
||||
}
|
||||
coll, err := core.MetaTable.GetCollectionByName(collName, 0)
|
||||
assert.NoError(t, err)
|
||||
core.MetaTable.collName2ID[collName] = coll.GetID()
|
||||
rsp, err := core.Import(ctx, req)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("import w/ collection ID not found", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &milvuspb.ImportRequest{
|
||||
CollectionName: "bad name",
|
||||
PartitionName: partName,
|
||||
RowBased: true,
|
||||
Files: []string{"f1", "f2", "f3"},
|
||||
}
|
||||
_, err := core.Import(ctx, req)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("get import state", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &milvuspb.GetImportStateRequest{
|
||||
Task: 0,
|
||||
}
|
||||
rsp, err := core.GetImportState(ctx, req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("report import task timeout", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
coll, err := core.MetaTable.GetCollectionByName(collName, 0)
|
||||
assert.Nil(t, err)
|
||||
req := &rootcoordpb.ImportResult{
|
||||
TaskId: 1,
|
||||
RowCount: 100,
|
||||
Segments: []int64{1003, 1004, 1005},
|
||||
}
|
||||
|
||||
for _, segmentID := range []int64{1003, 1004, 1005} {
|
||||
describeSegmentRequest := &milvuspb.DescribeSegmentRequest{
|
||||
Base: &commonpb.MsgBase{
|
||||
MsgType: commonpb.MsgType_DescribeSegment,
|
||||
},
|
||||
CollectionID: coll.ID,
|
||||
SegmentID: segmentID,
|
||||
}
|
||||
segDesc, err := core.DescribeSegment(ctx, describeSegmentRequest)
|
||||
assert.NoError(t, err)
|
||||
disabledIndexBuildID = append(disabledIndexBuildID, segDesc.BuildID)
|
||||
}
|
||||
|
||||
rsp, err := core.ReportImport(context.WithValue(ctx, ctxKey{}, ""), req)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.ErrorCode)
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("report import update import task fail", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
// Case where report import request is nil.
|
||||
resp, err := core.ReportImport(context.WithValue(ctx, ctxKey{}, ""), nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_UpdateImportTaskFailure, resp.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("report import collection name not found", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
|
||||
req := &milvuspb.ImportRequest{
|
||||
CollectionName: "new" + collName,
|
||||
PartitionName: partName,
|
||||
RowBased: true,
|
||||
Files: []string{"f1", "f2", "f3"},
|
||||
}
|
||||
core.MetaTable.collName2ID["new"+collName] = 123
|
||||
rsp, err := core.Import(ctx, req)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.Status.ErrorCode)
|
||||
delete(core.MetaTable.collName2ID, "new"+collName)
|
||||
|
||||
reqIR := &rootcoordpb.ImportResult{
|
||||
TaskId: 3,
|
||||
RowCount: 100,
|
||||
Segments: []int64{1003, 1004, 1005},
|
||||
}
|
||||
// Case where report import request is nil.
|
||||
resp, err := core.ReportImport(context.WithValue(ctx, ctxKey{}, ""), reqIR)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_CollectionNameNotFound, resp.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("report import segments online ready", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &rootcoordpb.ImportResult{
|
||||
TaskId: 0,
|
||||
RowCount: 100,
|
||||
Segments: []int64{1000, 1001, 1002},
|
||||
}
|
||||
resp, err := core.ReportImport(context.WithValue(ctx, ctxKey{}, ""), req)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, resp.ErrorCode)
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("over ride index", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
|
@ -2145,43 +2294,6 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("import", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &milvuspb.ImportRequest{
|
||||
CollectionName: "c1",
|
||||
PartitionName: "p1",
|
||||
RowBased: true,
|
||||
Files: []string{"f1", "f2", "f3"},
|
||||
}
|
||||
rsp, err := core.Import(ctx, req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("get import state", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &milvuspb.GetImportStateRequest{
|
||||
Task: 0,
|
||||
}
|
||||
rsp, err := core.GetImportState(ctx, req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("report import", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
req := &rootcoordpb.ImportResult{
|
||||
TaskId: 0,
|
||||
RowCount: 100,
|
||||
}
|
||||
rsp, err := core.ReportImport(ctx, req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, commonpb.ErrorCode_Success, rsp.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Add(1)
|
||||
t.Run("get system info", func(t *testing.T) {
|
||||
defer wg.Done()
|
||||
|
@ -2418,6 +2530,7 @@ func TestRootCoord_Base(t *testing.T) {
|
|||
assert.Nil(t, err)
|
||||
assert.NotEqual(t, commonpb.ErrorCode_Success, p2.Status.ErrorCode)
|
||||
})
|
||||
|
||||
wg.Wait()
|
||||
err = core.Stop()
|
||||
assert.Nil(t, err)
|
||||
|
|
|
@ -283,7 +283,7 @@ func (t *timetickSync) initSessions(sess []*sessionutil.Session) {
|
|||
}
|
||||
}
|
||||
|
||||
// StartWatch watch session change and process all channels' timetick msg
|
||||
// StartWatch watches on session changes and processes timeTick messages of all channels.
|
||||
func (t *timetickSync) startWatch(wg *sync.WaitGroup) {
|
||||
defer wg.Done()
|
||||
|
||||
|
|
Loading…
Reference in New Issue