diff --git a/internal/dataservice/server.go b/internal/dataservice/server.go index 04ad2616c7fc7fa813f7829f8897b4405206da43..9fd838e8beffe71793f617f072843bbdc06e07c0 100644 --- a/internal/dataservice/server.go +++ b/internal/dataservice/server.go @@ -960,6 +960,10 @@ func (s *Server) SaveBinlogPaths(ctx context.Context, req *datapb.SaveBinlogPath return resp, nil } +func (s *Server) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error) { + panic("implement me") +} + func composeSegmentFlushMsgPack(segmentID UniqueID) msgstream.MsgPack { msgPack := msgstream.MsgPack{ Msgs: make([]msgstream.TsMsg, 0, 1), diff --git a/internal/distributed/dataservice/client/client.go b/internal/distributed/dataservice/client/client.go index ceaf1ccc067628567430dc4114aa30b385fb2e70..ffce0c5067531af370f2f721769665195b9a938d 100644 --- a/internal/distributed/dataservice/client/client.go +++ b/internal/distributed/dataservice/client/client.go @@ -271,3 +271,10 @@ func (c *Client) GetSegmentInfo(ctx context.Context, req *datapb.GetSegmentInfoR }) return ret.(*datapb.GetSegmentInfoResponse), err } + +func (c *Client) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error) { + ret, err := c.recall(func() (interface{}, error) { + return c.grpcClient.GetRecoveryInfo(ctx, req) + }) + return ret.(*datapb.GetRecoveryInfoResponse), err +} diff --git a/internal/distributed/dataservice/service.go b/internal/distributed/dataservice/service.go index b2629f66a9e3067274f7fbd9a526148e0be32c2d..308070fd1413e60824b0488520e20c82c77b91db 100644 --- a/internal/distributed/dataservice/service.go +++ b/internal/distributed/dataservice/service.go @@ -277,3 +277,7 @@ func (s *Server) GetSegmentInfoChannel(ctx context.Context, req *datapb.GetSegme func (s *Server) SaveBinlogPaths(ctx context.Context, req *datapb.SaveBinlogPathsRequest) (*commonpb.Status, error) { return s.dataService.SaveBinlogPaths(ctx, req) } + +func (s *Server) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error) { + return s.dataService.GetRecoveryInfo(ctx, req) +} diff --git a/internal/proto/data_service.proto b/internal/proto/data_service.proto index de01ea6f59a5cd3887a00969d9e16fcc0f4eca8c..80d9ea4670a984fa0cbc3a365ef0f9eab7fd0656 100644 --- a/internal/proto/data_service.proto +++ b/internal/proto/data_service.proto @@ -31,6 +31,7 @@ service DataService { rpc GetSegmentInfoChannel(GetSegmentInfoChannelRequest) returns (milvus.StringResponse){} rpc SaveBinlogPaths(SaveBinlogPathsRequest) returns (common.Status){} + rpc GetRecoveryInfo(GetRecoveryInfoRequest) returns (GetRecoveryInfoResponse){} } service DataNode { @@ -249,4 +250,41 @@ message SaveBinlogPathsRequest { repeated DDLBinlogMeta ddlBinlogPaths = 5; PositionPair dml_position = 6; PositionPair ddl_position =7; -} \ No newline at end of file +} + +message CheckPoint { + int64 segmentID = 1; + internal.MsgPosition position = 2; + int64 num_of_rows = 3; +} + +message VchannelInfo { + int64 collectionID = 1; + string channelName = 2; + internal.MsgPosition seek_position = 3; + repeated CheckPoint checkPoints = 4; + repeated int64 flushedSegments = 5; +} + +message SegmentBinlogs { + int64 segmentID = 1; + repeated FieldBinlog fieldBinlogs = 2; +} + +message FieldBinlog{ + int64 fieldID = 1; + repeated string binlogs = 2; +} + +message GetRecoveryInfoResponse { + common.MsgBase base = 1; + repeated VchannelInfo channels = 2; + repeated SegmentBinlogs binlogs = 3; +} + +message GetRecoveryInfoRequest { + common.MsgBase base = 1; + int64 collectionID = 2; + int64 partitionID = 3; +} + diff --git a/internal/proto/datapb/data_service.pb.go b/internal/proto/datapb/data_service.pb.go index fe3696119785f34ce943f0e16405ca18231b5d4a..6b08e673ad23ed4a0e31caa12f9eb3ca4ce2de3f 100644 --- a/internal/proto/datapb/data_service.pb.go +++ b/internal/proto/datapb/data_service.pb.go @@ -1947,6 +1947,336 @@ func (m *SaveBinlogPathsRequest) GetDdlPosition() *PositionPair { return nil } +type CheckPoint struct { + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + Position *internalpb.MsgPosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + NumOfRows int64 `protobuf:"varint,3,opt,name=num_of_rows,json=numOfRows,proto3" json:"num_of_rows,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CheckPoint) Reset() { *m = CheckPoint{} } +func (m *CheckPoint) String() string { return proto.CompactTextString(m) } +func (*CheckPoint) ProtoMessage() {} +func (*CheckPoint) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{35} +} + +func (m *CheckPoint) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CheckPoint.Unmarshal(m, b) +} +func (m *CheckPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CheckPoint.Marshal(b, m, deterministic) +} +func (m *CheckPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckPoint.Merge(m, src) +} +func (m *CheckPoint) XXX_Size() int { + return xxx_messageInfo_CheckPoint.Size(m) +} +func (m *CheckPoint) XXX_DiscardUnknown() { + xxx_messageInfo_CheckPoint.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckPoint proto.InternalMessageInfo + +func (m *CheckPoint) GetSegmentID() int64 { + if m != nil { + return m.SegmentID + } + return 0 +} + +func (m *CheckPoint) GetPosition() *internalpb.MsgPosition { + if m != nil { + return m.Position + } + return nil +} + +func (m *CheckPoint) GetNumOfRows() int64 { + if m != nil { + return m.NumOfRows + } + return 0 +} + +type VchannelInfo struct { + CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + ChannelName string `protobuf:"bytes,2,opt,name=channelName,proto3" json:"channelName,omitempty"` + SeekPosition *internalpb.MsgPosition `protobuf:"bytes,3,opt,name=seek_position,json=seekPosition,proto3" json:"seek_position,omitempty"` + CheckPoints []*CheckPoint `protobuf:"bytes,4,rep,name=checkPoints,proto3" json:"checkPoints,omitempty"` + FlushedSegments []int64 `protobuf:"varint,5,rep,packed,name=flushedSegments,proto3" json:"flushedSegments,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VchannelInfo) Reset() { *m = VchannelInfo{} } +func (m *VchannelInfo) String() string { return proto.CompactTextString(m) } +func (*VchannelInfo) ProtoMessage() {} +func (*VchannelInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{36} +} + +func (m *VchannelInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_VchannelInfo.Unmarshal(m, b) +} +func (m *VchannelInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_VchannelInfo.Marshal(b, m, deterministic) +} +func (m *VchannelInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_VchannelInfo.Merge(m, src) +} +func (m *VchannelInfo) XXX_Size() int { + return xxx_messageInfo_VchannelInfo.Size(m) +} +func (m *VchannelInfo) XXX_DiscardUnknown() { + xxx_messageInfo_VchannelInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_VchannelInfo proto.InternalMessageInfo + +func (m *VchannelInfo) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *VchannelInfo) GetChannelName() string { + if m != nil { + return m.ChannelName + } + return "" +} + +func (m *VchannelInfo) GetSeekPosition() *internalpb.MsgPosition { + if m != nil { + return m.SeekPosition + } + return nil +} + +func (m *VchannelInfo) GetCheckPoints() []*CheckPoint { + if m != nil { + return m.CheckPoints + } + return nil +} + +func (m *VchannelInfo) GetFlushedSegments() []int64 { + if m != nil { + return m.FlushedSegments + } + return nil +} + +type SegmentBinlogs struct { + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + FieldBinlogs []*FieldBinlog `protobuf:"bytes,2,rep,name=fieldBinlogs,proto3" json:"fieldBinlogs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SegmentBinlogs) Reset() { *m = SegmentBinlogs{} } +func (m *SegmentBinlogs) String() string { return proto.CompactTextString(m) } +func (*SegmentBinlogs) ProtoMessage() {} +func (*SegmentBinlogs) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{37} +} + +func (m *SegmentBinlogs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SegmentBinlogs.Unmarshal(m, b) +} +func (m *SegmentBinlogs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SegmentBinlogs.Marshal(b, m, deterministic) +} +func (m *SegmentBinlogs) XXX_Merge(src proto.Message) { + xxx_messageInfo_SegmentBinlogs.Merge(m, src) +} +func (m *SegmentBinlogs) XXX_Size() int { + return xxx_messageInfo_SegmentBinlogs.Size(m) +} +func (m *SegmentBinlogs) XXX_DiscardUnknown() { + xxx_messageInfo_SegmentBinlogs.DiscardUnknown(m) +} + +var xxx_messageInfo_SegmentBinlogs proto.InternalMessageInfo + +func (m *SegmentBinlogs) GetSegmentID() int64 { + if m != nil { + return m.SegmentID + } + return 0 +} + +func (m *SegmentBinlogs) GetFieldBinlogs() []*FieldBinlog { + if m != nil { + return m.FieldBinlogs + } + return nil +} + +type FieldBinlog struct { + FieldID int64 `protobuf:"varint,1,opt,name=fieldID,proto3" json:"fieldID,omitempty"` + Binlogs []string `protobuf:"bytes,2,rep,name=binlogs,proto3" json:"binlogs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FieldBinlog) Reset() { *m = FieldBinlog{} } +func (m *FieldBinlog) String() string { return proto.CompactTextString(m) } +func (*FieldBinlog) ProtoMessage() {} +func (*FieldBinlog) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{38} +} + +func (m *FieldBinlog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldBinlog.Unmarshal(m, b) +} +func (m *FieldBinlog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldBinlog.Marshal(b, m, deterministic) +} +func (m *FieldBinlog) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldBinlog.Merge(m, src) +} +func (m *FieldBinlog) XXX_Size() int { + return xxx_messageInfo_FieldBinlog.Size(m) +} +func (m *FieldBinlog) XXX_DiscardUnknown() { + xxx_messageInfo_FieldBinlog.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldBinlog proto.InternalMessageInfo + +func (m *FieldBinlog) GetFieldID() int64 { + if m != nil { + return m.FieldID + } + return 0 +} + +func (m *FieldBinlog) GetBinlogs() []string { + if m != nil { + return m.Binlogs + } + return nil +} + +type GetRecoveryInfoResponse struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + Channels []*VchannelInfo `protobuf:"bytes,2,rep,name=channels,proto3" json:"channels,omitempty"` + Binlogs []*SegmentBinlogs `protobuf:"bytes,3,rep,name=binlogs,proto3" json:"binlogs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetRecoveryInfoResponse) Reset() { *m = GetRecoveryInfoResponse{} } +func (m *GetRecoveryInfoResponse) String() string { return proto.CompactTextString(m) } +func (*GetRecoveryInfoResponse) ProtoMessage() {} +func (*GetRecoveryInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{39} +} + +func (m *GetRecoveryInfoResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetRecoveryInfoResponse.Unmarshal(m, b) +} +func (m *GetRecoveryInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetRecoveryInfoResponse.Marshal(b, m, deterministic) +} +func (m *GetRecoveryInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetRecoveryInfoResponse.Merge(m, src) +} +func (m *GetRecoveryInfoResponse) XXX_Size() int { + return xxx_messageInfo_GetRecoveryInfoResponse.Size(m) +} +func (m *GetRecoveryInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetRecoveryInfoResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetRecoveryInfoResponse proto.InternalMessageInfo + +func (m *GetRecoveryInfoResponse) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *GetRecoveryInfoResponse) GetChannels() []*VchannelInfo { + if m != nil { + return m.Channels + } + return nil +} + +func (m *GetRecoveryInfoResponse) GetBinlogs() []*SegmentBinlogs { + if m != nil { + return m.Binlogs + } + return nil +} + +type GetRecoveryInfoRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetRecoveryInfoRequest) Reset() { *m = GetRecoveryInfoRequest{} } +func (m *GetRecoveryInfoRequest) String() string { return proto.CompactTextString(m) } +func (*GetRecoveryInfoRequest) ProtoMessage() {} +func (*GetRecoveryInfoRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_3385cd32ad6cfe64, []int{40} +} + +func (m *GetRecoveryInfoRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetRecoveryInfoRequest.Unmarshal(m, b) +} +func (m *GetRecoveryInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetRecoveryInfoRequest.Marshal(b, m, deterministic) +} +func (m *GetRecoveryInfoRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetRecoveryInfoRequest.Merge(m, src) +} +func (m *GetRecoveryInfoRequest) XXX_Size() int { + return xxx_messageInfo_GetRecoveryInfoRequest.Size(m) +} +func (m *GetRecoveryInfoRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetRecoveryInfoRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetRecoveryInfoRequest proto.InternalMessageInfo + +func (m *GetRecoveryInfoRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *GetRecoveryInfoRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *GetRecoveryInfoRequest) GetPartitionID() int64 { + if m != nil { + return m.PartitionID + } + return 0 +} + func init() { proto.RegisterType((*RegisterNodeRequest)(nil), "milvus.proto.data.RegisterNodeRequest") proto.RegisterType((*RegisterNodeResponse)(nil), "milvus.proto.data.RegisterNodeResponse") @@ -1983,122 +2313,142 @@ func init() { proto.RegisterType((*ID2PathList)(nil), "milvus.proto.data.ID2PathList") proto.RegisterType((*PositionPair)(nil), "milvus.proto.data.PositionPair") proto.RegisterType((*SaveBinlogPathsRequest)(nil), "milvus.proto.data.SaveBinlogPathsRequest") + proto.RegisterType((*CheckPoint)(nil), "milvus.proto.data.CheckPoint") + proto.RegisterType((*VchannelInfo)(nil), "milvus.proto.data.VchannelInfo") + proto.RegisterType((*SegmentBinlogs)(nil), "milvus.proto.data.SegmentBinlogs") + proto.RegisterType((*FieldBinlog)(nil), "milvus.proto.data.FieldBinlog") + proto.RegisterType((*GetRecoveryInfoResponse)(nil), "milvus.proto.data.GetRecoveryInfoResponse") + proto.RegisterType((*GetRecoveryInfoRequest)(nil), "milvus.proto.data.GetRecoveryInfoRequest") } func init() { proto.RegisterFile("data_service.proto", fileDescriptor_3385cd32ad6cfe64) } var fileDescriptor_3385cd32ad6cfe64 = []byte{ - // 1758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xdd, 0x6f, 0x13, 0xc7, - 0x16, 0xcf, 0xda, 0x89, 0x93, 0x1c, 0x3b, 0x4e, 0x32, 0xe4, 0x06, 0x5f, 0x03, 0x21, 0x2c, 0x17, - 0x08, 0xa0, 0x9b, 0x80, 0x73, 0x75, 0x3f, 0x74, 0xd5, 0x07, 0x82, 0x21, 0xb5, 0x9a, 0xa0, 0x74, - 0x42, 0x8b, 0x54, 0x54, 0x59, 0x1b, 0xef, 0xc4, 0xd9, 0xb2, 0x1f, 0xc6, 0x33, 0x26, 0xe1, 0x89, - 0xaa, 0xed, 0x53, 0x55, 0x15, 0xf5, 0x3f, 0x68, 0x2b, 0x55, 0xaa, 0xd4, 0x3e, 0xf4, 0xb9, 0x7f, - 0x52, 0xff, 0x8a, 0x6a, 0x3e, 0xf6, 0x7b, 0xfd, 0x81, 0x03, 0xcd, 0xdb, 0xce, 0xec, 0x99, 0x73, - 0xce, 0x9c, 0x8f, 0xdf, 0x9c, 0x73, 0x00, 0x99, 0x06, 0x33, 0x9a, 0x94, 0x74, 0x5f, 0x58, 0x2d, - 0xb2, 0xde, 0xe9, 0x7a, 0xcc, 0x43, 0x8b, 0x8e, 0x65, 0xbf, 0xe8, 0x51, 0xb9, 0x5a, 0xe7, 0x04, - 0xd5, 0x52, 0xcb, 0x73, 0x1c, 0xcf, 0x95, 0x5b, 0xd5, 0xb2, 0xe5, 0x32, 0xd2, 0x75, 0x0d, 0x5b, - 0xad, 0x4b, 0xd1, 0x03, 0xd5, 0x12, 0x6d, 0x1d, 0x11, 0xc7, 0x90, 0x2b, 0xfd, 0x15, 0x9c, 0xc3, - 0xa4, 0x6d, 0x51, 0x46, 0xba, 0x8f, 0x3c, 0x93, 0x60, 0xf2, 0xbc, 0x47, 0x28, 0x43, 0x77, 0x60, - 0xf2, 0xc0, 0xa0, 0xa4, 0xa2, 0xad, 0x6a, 0x6b, 0xc5, 0xda, 0xc5, 0xf5, 0x98, 0x48, 0x25, 0x6c, - 0x97, 0xb6, 0xb7, 0x0c, 0x4a, 0xb0, 0xa0, 0x44, 0xff, 0x86, 0x69, 0xc3, 0x34, 0xbb, 0x84, 0xd2, - 0x4a, 0x6e, 0xc0, 0xa1, 0x7b, 0x92, 0x06, 0xfb, 0xc4, 0xfa, 0x6b, 0x0d, 0x96, 0xe2, 0x1a, 0xd0, - 0x8e, 0xe7, 0x52, 0x82, 0xb6, 0xa0, 0x68, 0xb9, 0x16, 0x6b, 0x76, 0x8c, 0xae, 0xe1, 0x50, 0xa5, - 0xc9, 0x95, 0x38, 0xd3, 0xe0, 0xa2, 0x0d, 0xd7, 0x62, 0x7b, 0x82, 0x10, 0x83, 0x15, 0x7c, 0xa3, - 0x4d, 0x28, 0x50, 0x66, 0xb0, 0x9e, 0xaf, 0xd3, 0x85, 0x4c, 0x9d, 0xf6, 0x05, 0x09, 0x56, 0xa4, - 0xfa, 0x09, 0x94, 0x1e, 0xda, 0x3d, 0x7a, 0x34, 0xbe, 0x2d, 0x10, 0x4c, 0x9a, 0x07, 0x8d, 0xba, - 0x10, 0x9a, 0xc7, 0xe2, 0x1b, 0xe9, 0x50, 0x6a, 0x79, 0xb6, 0x4d, 0x5a, 0xcc, 0xf2, 0xdc, 0x46, - 0xbd, 0x32, 0x29, 0xfe, 0xc5, 0xf6, 0xf4, 0xef, 0x34, 0x58, 0xd8, 0x27, 0x6d, 0x87, 0xb8, 0xac, - 0x51, 0xf7, 0xc5, 0x2f, 0xc1, 0x54, 0xcb, 0xeb, 0xb9, 0x4c, 0xc8, 0x9f, 0xc3, 0x72, 0x81, 0xae, - 0x40, 0xa9, 0x75, 0x64, 0xb8, 0x2e, 0xb1, 0x9b, 0xae, 0xe1, 0x10, 0x21, 0x6a, 0x16, 0x17, 0xd5, - 0xde, 0x23, 0xc3, 0x21, 0x29, 0x89, 0xf9, 0xb4, 0x44, 0xb4, 0x0a, 0xc5, 0x8e, 0xd1, 0x65, 0x56, - 0x4c, 0xa9, 0xe8, 0x96, 0xfe, 0xbd, 0x06, 0xcb, 0xf7, 0x28, 0xb5, 0xda, 0x6e, 0x4a, 0xb3, 0x65, - 0x28, 0xb8, 0x9e, 0x49, 0x1a, 0x75, 0xa1, 0x5a, 0x1e, 0xab, 0x15, 0xba, 0x00, 0xb3, 0x1d, 0x42, - 0xba, 0xcd, 0xae, 0x67, 0xfb, 0x8a, 0xcd, 0xf0, 0x0d, 0xec, 0xd9, 0x04, 0x7d, 0x08, 0x8b, 0x34, - 0xc1, 0x88, 0x56, 0xf2, 0xab, 0xf9, 0xb5, 0x62, 0xed, 0xea, 0x7a, 0x2a, 0xb2, 0xd7, 0x93, 0x42, - 0x71, 0xfa, 0xb4, 0xfe, 0x79, 0x0e, 0xce, 0x05, 0x74, 0x52, 0x57, 0xfe, 0xcd, 0x2d, 0x47, 0x49, - 0x3b, 0x50, 0x4f, 0x2e, 0x46, 0xb1, 0x5c, 0x60, 0xf2, 0x7c, 0xd4, 0xe4, 0x23, 0x78, 0x30, 0x69, - 0xcf, 0xa9, 0x94, 0x3d, 0xd1, 0x65, 0x28, 0x92, 0x93, 0x8e, 0xd5, 0x25, 0x4d, 0x66, 0x39, 0xa4, - 0x52, 0x58, 0xd5, 0xd6, 0x26, 0x31, 0xc8, 0xad, 0xc7, 0x96, 0x43, 0x22, 0x31, 0x3b, 0x3d, 0x7a, - 0xcc, 0xfe, 0xa8, 0xc1, 0xf9, 0x94, 0x97, 0x54, 0x22, 0x61, 0x58, 0x10, 0x37, 0x0f, 0x2d, 0xc3, - 0xb3, 0x89, 0x1b, 0xfc, 0xfa, 0x20, 0x83, 0x87, 0xe4, 0x38, 0x75, 0x7e, 0xbc, 0xc4, 0xfa, 0x41, - 0x83, 0x73, 0xfb, 0x47, 0xde, 0xb1, 0x12, 0x41, 0xc7, 0x4f, 0xb0, 0xa4, 0x2b, 0x72, 0xc3, 0x5d, - 0x91, 0x4f, 0xbb, 0xc2, 0x4f, 0xd3, 0xc9, 0x30, 0x4d, 0xf5, 0x67, 0xb0, 0x14, 0x57, 0x51, 0x19, - 0x71, 0x05, 0x20, 0x08, 0x3c, 0x69, 0xbe, 0x3c, 0x8e, 0xec, 0x8c, 0x67, 0x90, 0x67, 0x70, 0x7e, - 0x9b, 0x30, 0x25, 0x8b, 0xff, 0x23, 0xa7, 0xb0, 0x49, 0x5c, 0xc3, 0x5c, 0x52, 0x43, 0xfd, 0xb7, - 0x5c, 0x00, 0x2e, 0x42, 0x54, 0xc3, 0x3d, 0xf4, 0xd0, 0x45, 0x98, 0x0d, 0x48, 0x54, 0x9a, 0x84, - 0x1b, 0xe8, 0x3f, 0x30, 0xc5, 0x35, 0x95, 0x39, 0x52, 0x4e, 0x82, 0xaf, 0x7f, 0xa7, 0x08, 0x4f, - 0x2c, 0xe9, 0x51, 0x03, 0xca, 0x94, 0x19, 0x5d, 0xd6, 0xec, 0x78, 0x54, 0x58, 0x5b, 0x98, 0xbf, - 0x58, 0xd3, 0xfb, 0xc0, 0xf7, 0x2e, 0x6d, 0xef, 0x29, 0x4a, 0x3c, 0x27, 0x4e, 0xfa, 0x4b, 0xf4, - 0x00, 0x4a, 0xc4, 0x35, 0x43, 0x46, 0x93, 0x23, 0x33, 0x2a, 0x12, 0xd7, 0x0c, 0xd8, 0x84, 0xfe, - 0x99, 0x1a, 0xdd, 0x3f, 0xdf, 0x68, 0x50, 0x49, 0x3b, 0x48, 0x45, 0x44, 0xc8, 0x51, 0x1b, 0x99, - 0x23, 0xfa, 0xbf, 0x3c, 0x44, 0xa4, 0x83, 0x06, 0x42, 0x5e, 0xe0, 0x24, 0xac, 0x8e, 0xe8, 0x16, - 0xfc, 0x2d, 0xd4, 0x46, 0xfc, 0x79, 0x67, 0xc1, 0xf2, 0xa5, 0x06, 0xcb, 0x49, 0x59, 0xa7, 0xb9, - 0xf7, 0xbf, 0x60, 0xca, 0x72, 0x0f, 0x3d, 0xff, 0xda, 0x2b, 0x03, 0x80, 0x87, 0xcb, 0x92, 0xc4, - 0xba, 0x03, 0x17, 0xb6, 0x09, 0x6b, 0xb8, 0x94, 0x74, 0xd9, 0x96, 0xe5, 0xda, 0x5e, 0x7b, 0xcf, - 0x60, 0x47, 0xa7, 0xc8, 0x91, 0x58, 0xb8, 0xe7, 0x12, 0xe1, 0xae, 0xff, 0xac, 0xc1, 0xc5, 0x6c, - 0x79, 0xea, 0xea, 0x55, 0x98, 0x39, 0xb4, 0x88, 0x6d, 0x86, 0x10, 0x10, 0xac, 0x79, 0xae, 0x74, - 0x38, 0xb1, 0xba, 0x61, 0xbf, 0x42, 0x65, 0x9f, 0x75, 0x2d, 0xb7, 0xbd, 0x63, 0x51, 0x86, 0x25, - 0x7d, 0xc4, 0x9e, 0xf9, 0xd1, 0x23, 0xf3, 0x2b, 0x19, 0x99, 0x52, 0xd5, 0xfb, 0xf2, 0xe9, 0xa2, - 0xef, 0xb6, 0x60, 0xc9, 0x28, 0x1f, 0xf4, 0xaf, 0x35, 0x58, 0xd9, 0x26, 0xec, 0x7e, 0xb0, 0xc7, - 0xd5, 0xb4, 0x28, 0xb3, 0x5a, 0x67, 0xa0, 0xcc, 0x6b, 0x0d, 0x2e, 0xf7, 0x55, 0x46, 0x79, 0x50, - 0x21, 0x9a, 0xff, 0x00, 0x66, 0x23, 0xda, 0x07, 0xe4, 0xe5, 0xc7, 0x86, 0xdd, 0x23, 0x7b, 0x86, - 0xd5, 0x95, 0x88, 0x36, 0x26, 0xbe, 0xff, 0xa2, 0xc1, 0xa5, 0x6d, 0xc2, 0x8b, 0x51, 0xf9, 0xe6, - 0x9c, 0xa1, 0x75, 0x46, 0xa8, 0xf4, 0xbe, 0x95, 0xce, 0xcc, 0xd4, 0xf6, 0x4c, 0xcc, 0xb7, 0x22, - 0xd2, 0x31, 0x82, 0x0b, 0x2a, 0xd0, 0x95, 0xf1, 0x74, 0x0f, 0x96, 0x9f, 0x18, 0xac, 0x75, 0x54, - 0x77, 0x4e, 0x9f, 0x01, 0x57, 0x61, 0x2e, 0x5a, 0x15, 0xca, 0x34, 0x9e, 0xc5, 0xa5, 0x48, 0x59, - 0x48, 0x79, 0x2d, 0xbc, 0x24, 0x5a, 0x83, 0xd3, 0x57, 0x30, 0xe3, 0xba, 0x31, 0x0e, 0xdc, 0x93, - 0x29, 0xe0, 0x3e, 0x01, 0x50, 0xca, 0xed, 0xd2, 0xf6, 0x18, 0x7a, 0xfd, 0x17, 0xa6, 0x15, 0x37, - 0xe5, 0xa9, 0x61, 0x50, 0xed, 0x93, 0xeb, 0xfb, 0xb0, 0xac, 0xf6, 0x1f, 0x72, 0x4c, 0x94, 0xf8, - 0xb9, 0x4b, 0x98, 0x81, 0x2a, 0x30, 0xad, 0x60, 0x52, 0x95, 0x18, 0xfe, 0x92, 0x17, 0xc3, 0x07, - 0x82, 0xae, 0xc9, 0xb1, 0x50, 0x95, 0xe2, 0x70, 0x10, 0x40, 0xaf, 0xfe, 0x29, 0xcc, 0xd5, 0xeb, - 0x3b, 0x11, 0x5e, 0xd7, 0x61, 0xde, 0x34, 0xed, 0x66, 0xf4, 0x94, 0x26, 0x4e, 0xcd, 0x99, 0xa6, - 0x1d, 0x62, 0x36, 0xfa, 0x07, 0x94, 0x19, 0x6d, 0xa6, 0x99, 0x97, 0x18, 0x0d, 0xa9, 0xf4, 0x5d, - 0x28, 0x0b, 0x65, 0x85, 0x53, 0x87, 0xe8, 0x7a, 0x05, 0x4a, 0x11, 0x76, 0x7e, 0x80, 0x14, 0x43, - 0x65, 0x29, 0x87, 0x43, 0xbf, 0xc4, 0x0a, 0x39, 0x0e, 0x2e, 0xb1, 0x2e, 0x01, 0x58, 0xb4, 0x79, - 0xc8, 0xa9, 0x89, 0x29, 0x74, 0x9c, 0xc1, 0xb3, 0x16, 0x7d, 0x28, 0x37, 0xd0, 0xff, 0xa0, 0x20, - 0xe4, 0xf3, 0xb2, 0x25, 0x23, 0xe3, 0x84, 0x37, 0xe2, 0x37, 0xc0, 0xea, 0x80, 0xfe, 0x11, 0x94, - 0xea, 0xf5, 0x9d, 0x50, 0x8f, 0x64, 0x74, 0x69, 0x19, 0xd1, 0x35, 0xc2, 0x1d, 0x5f, 0x41, 0x39, - 0x44, 0x58, 0x51, 0x43, 0x96, 0x21, 0x17, 0xb0, 0xcb, 0x35, 0xea, 0xe8, 0x3d, 0x28, 0xc8, 0x11, - 0x83, 0x8a, 0xa0, 0x6b, 0x71, 0x9d, 0xd5, 0xf8, 0x21, 0x02, 0xd3, 0x62, 0x03, 0xab, 0x43, 0x3c, - 0xc2, 0x03, 0x54, 0x92, 0x9d, 0x61, 0x1e, 0x47, 0x76, 0xf4, 0xdf, 0xf3, 0x50, 0x8c, 0x04, 0x60, - 0x4a, 0xfc, 0xdb, 0xe9, 0x0d, 0xae, 0x41, 0xd9, 0x12, 0x8f, 0x6b, 0x53, 0x21, 0x80, 0x40, 0xcc, - 0x59, 0x3c, 0x67, 0x45, 0x9f, 0x5c, 0xf4, 0x77, 0x98, 0x71, 0x7b, 0x4e, 0xb3, 0xeb, 0x1d, 0x53, - 0xd5, 0xec, 0x4d, 0xbb, 0x3d, 0x07, 0x7b, 0xc7, 0x34, 0x2c, 0x9e, 0x0b, 0xa7, 0x2e, 0x9e, 0xa7, - 0xdf, 0x56, 0xf1, 0x3c, 0x33, 0x5e, 0xf1, 0xbc, 0x02, 0x45, 0xc7, 0x38, 0xe1, 0xb7, 0x6c, 0xba, - 0x3d, 0xa7, 0x32, 0x2b, 0x83, 0xd8, 0x31, 0x4e, 0xb0, 0x77, 0xfc, 0xa8, 0xe7, 0xa0, 0x35, 0x58, - 0xb0, 0x0d, 0xca, 0x9a, 0xd1, 0xc6, 0x16, 0x44, 0x63, 0x5b, 0xe6, 0xfb, 0x0f, 0x82, 0xe6, 0x56, - 0xdf, 0x84, 0x62, 0xa3, 0x5e, 0xe3, 0x91, 0xc4, 0x4b, 0xa0, 0x94, 0xef, 0x96, 0x60, 0x6a, 0x2f, - 0x12, 0x78, 0x72, 0xc1, 0x61, 0xb7, 0xe4, 0xeb, 0xc2, 0x1f, 0x95, 0x0c, 0x0b, 0x69, 0x6f, 0xcb, - 0x42, 0xb9, 0xb1, 0x2c, 0xa4, 0xff, 0x9a, 0x87, 0xe5, 0x7d, 0xe3, 0x05, 0x79, 0xf7, 0x55, 0xea, - 0x48, 0xaf, 0xc4, 0x0e, 0x2c, 0x0a, 0x14, 0xa8, 0x45, 0xf4, 0x51, 0x9d, 0x53, 0x16, 0x9e, 0x47, - 0x5c, 0x82, 0xd3, 0x07, 0xd1, 0xfb, 0x50, 0x8e, 0x81, 0xab, 0x0f, 0x46, 0xab, 0x19, 0xac, 0x62, - 0x68, 0x8d, 0x13, 0xe7, 0xd0, 0x16, 0x94, 0x4c, 0xc7, 0x0e, 0xad, 0x5d, 0x10, 0x2a, 0x5d, 0xce, - 0xe0, 0x13, 0xf5, 0x37, 0x2e, 0x9a, 0x8e, 0x1d, 0x78, 0x8c, 0xf3, 0x30, 0xed, 0x64, 0x72, 0x8c, - 0xc0, 0xc3, 0x0c, 0x78, 0xd4, 0xfe, 0x28, 0x41, 0xb1, 0x6e, 0x30, 0x63, 0x5f, 0x0e, 0x56, 0x51, - 0x07, 0x90, 0xa8, 0x1c, 0x9d, 0x8e, 0xe7, 0x06, 0x9d, 0x1e, 0xba, 0xd3, 0x27, 0x0a, 0xd2, 0xa4, - 0xca, 0xd7, 0xd5, 0xeb, 0x7d, 0x4e, 0x24, 0xc8, 0xf5, 0x09, 0xe4, 0x08, 0x89, 0x3c, 0x27, 0x1e, - 0x5b, 0xad, 0x67, 0x3e, 0x9c, 0x0c, 0x90, 0x98, 0x20, 0xf5, 0x25, 0x26, 0x1a, 0x48, 0xb5, 0x90, - 0x5d, 0x86, 0x5f, 0xb6, 0xe9, 0x13, 0xe8, 0x39, 0x2c, 0xf1, 0x52, 0x2a, 0xa8, 0xe8, 0x7c, 0x81, - 0xb5, 0xfe, 0x02, 0x53, 0xc4, 0x6f, 0x28, 0xd2, 0x80, 0x52, 0x74, 0xae, 0x8b, 0xb2, 0x86, 0x4d, - 0x19, 0xa3, 0xe7, 0xea, 0x8d, 0xa1, 0x74, 0x81, 0x88, 0x6d, 0x98, 0x12, 0xef, 0x1b, 0xca, 0xf2, - 0x7e, 0x74, 0x86, 0x5b, 0x1d, 0x54, 0x6f, 0xea, 0x13, 0xe8, 0x33, 0x98, 0x4f, 0x4c, 0xcf, 0xd0, - 0xcd, 0x0c, 0x96, 0xd9, 0x73, 0xd0, 0xea, 0xad, 0x51, 0x48, 0xa3, 0x76, 0x89, 0x4e, 0x98, 0x32, - 0xed, 0x92, 0x31, 0x25, 0xcb, 0xb4, 0x4b, 0xd6, 0xa8, 0x4a, 0x9f, 0x40, 0x6d, 0x28, 0xc7, 0x0b, - 0x67, 0xb4, 0x96, 0x71, 0x38, 0x73, 0x96, 0x50, 0xbd, 0x39, 0x02, 0x65, 0x20, 0xc8, 0x81, 0x85, - 0xe4, 0x7c, 0x04, 0xdd, 0x1a, 0xc8, 0x20, 0x9e, 0x2f, 0xb7, 0x47, 0xa2, 0x0d, 0xc4, 0xbd, 0x14, - 0x51, 0x9c, 0xea, 0xcf, 0xd1, 0x7a, 0x36, 0x9b, 0x7e, 0x83, 0x83, 0xea, 0xc6, 0xc8, 0xf4, 0x81, - 0x68, 0x02, 0x8b, 0xa9, 0x7e, 0x1b, 0xdd, 0x1e, 0xc4, 0x27, 0xd1, 0x93, 0x54, 0x87, 0x4f, 0x04, - 0xf4, 0x09, 0xf4, 0x85, 0x26, 0x46, 0x82, 0x59, 0x3d, 0x2c, 0xba, 0x9b, 0x2d, 0x6d, 0x40, 0xf3, - 0x5d, 0xad, 0xbd, 0xc9, 0x91, 0xe0, 0xae, 0xaf, 0xc4, 0xec, 0x27, 0xa3, 0x0f, 0x4c, 0xe2, 0x93, - 0xcf, 0xaf, 0x7f, 0x83, 0x5b, 0xbd, 0xfb, 0x06, 0x27, 0x02, 0x05, 0xbc, 0xe4, 0xa0, 0xcb, 0x87, - 0xab, 0x8d, 0xa1, 0xc1, 0x39, 0x1e, 0x56, 0x3d, 0x85, 0xf9, 0xc4, 0xeb, 0x9d, 0x99, 0xff, 0xd9, - 0x2f, 0xfc, 0x10, 0x70, 0xa9, 0xfd, 0x94, 0x87, 0x19, 0xfe, 0xd8, 0x08, 0x14, 0xfc, 0xeb, 0x5f, - 0x9a, 0x33, 0x80, 0xfe, 0xa7, 0x30, 0x9f, 0x68, 0xcc, 0x33, 0xcd, 0x99, 0xdd, 0xbc, 0x0f, 0xc3, - 0xea, 0x27, 0x30, 0x17, 0xeb, 0xc1, 0xd1, 0x8d, 0x7e, 0xe0, 0x9f, 0x44, 0xd0, 0xc1, 0x8c, 0xb7, - 0x36, 0x3f, 0xb9, 0xdb, 0xb6, 0xd8, 0x51, 0xef, 0x80, 0xff, 0xd9, 0x90, 0xa4, 0xff, 0xb4, 0x3c, - 0xf5, 0xb5, 0xe1, 0x1b, 0x68, 0x43, 0x9c, 0xde, 0xe0, 0x62, 0x3a, 0x07, 0x07, 0x05, 0xb1, 0xda, - 0xfc, 0x33, 0x00, 0x00, 0xff, 0xff, 0x10, 0xce, 0xe5, 0x03, 0xa9, 0x1d, 0x00, 0x00, + // 1975 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdb, 0x6f, 0x1b, 0x59, + 0x19, 0xcf, 0xd8, 0xb9, 0xf9, 0xf3, 0xd8, 0x69, 0x4f, 0x43, 0xd6, 0xb8, 0x6d, 0x9a, 0xce, 0xb2, + 0xdd, 0x6c, 0x57, 0x24, 0x5b, 0x17, 0x71, 0x51, 0x05, 0xa8, 0xa9, 0xb7, 0xc1, 0xa2, 0x29, 0xe1, + 0x64, 0xd9, 0x95, 0x58, 0x21, 0x6b, 0xe2, 0x39, 0x71, 0x86, 0xcc, 0xc5, 0x3b, 0x67, 0xdc, 0xa6, + 0x4f, 0x45, 0xc0, 0x03, 0x42, 0x88, 0x85, 0xff, 0x00, 0x90, 0x90, 0x90, 0xe0, 0x81, 0x67, 0xde, + 0xf9, 0x17, 0xf8, 0x7b, 0xd0, 0xb9, 0xcc, 0xfd, 0xd8, 0x9e, 0x38, 0xed, 0xe6, 0xcd, 0xe7, 0xf8, + 0xbb, 0x9d, 0xef, 0xf2, 0x3b, 0xdf, 0xf9, 0x06, 0x90, 0x65, 0x86, 0x66, 0x9f, 0x92, 0xe0, 0x85, + 0x3d, 0x20, 0x3b, 0xa3, 0xc0, 0x0f, 0x7d, 0x74, 0xdd, 0xb5, 0x9d, 0x17, 0x63, 0x2a, 0x56, 0x3b, + 0x8c, 0xa0, 0xad, 0x0f, 0x7c, 0xd7, 0xf5, 0x3d, 0xb1, 0xd5, 0x6e, 0xda, 0x5e, 0x48, 0x02, 0xcf, + 0x74, 0xe4, 0x5a, 0x4f, 0x33, 0xb4, 0x75, 0x3a, 0x38, 0x25, 0xae, 0x29, 0x56, 0xc6, 0x6b, 0xb8, + 0x81, 0xc9, 0xd0, 0xa6, 0x21, 0x09, 0x9e, 0xfb, 0x16, 0xc1, 0xe4, 0x8b, 0x31, 0xa1, 0x21, 0xfa, + 0x08, 0x16, 0x8f, 0x4d, 0x4a, 0x5a, 0xda, 0x96, 0xb6, 0x5d, 0xef, 0xdc, 0xda, 0xc9, 0xa8, 0x94, + 0xca, 0x0e, 0xe8, 0x70, 0xcf, 0xa4, 0x04, 0x73, 0x4a, 0xf4, 0x6d, 0x58, 0x31, 0x2d, 0x2b, 0x20, + 0x94, 0xb6, 0x2a, 0x53, 0x98, 0x1e, 0x0b, 0x1a, 0x1c, 0x11, 0x1b, 0x5f, 0x6a, 0xb0, 0x9e, 0xb5, + 0x80, 0x8e, 0x7c, 0x8f, 0x12, 0xb4, 0x07, 0x75, 0xdb, 0xb3, 0xc3, 0xfe, 0xc8, 0x0c, 0x4c, 0x97, + 0x4a, 0x4b, 0xee, 0x66, 0x85, 0xc6, 0x07, 0xed, 0x79, 0x76, 0x78, 0xc8, 0x09, 0x31, 0xd8, 0xf1, + 0x6f, 0xf4, 0x10, 0x96, 0x69, 0x68, 0x86, 0xe3, 0xc8, 0xa6, 0x9b, 0x4a, 0x9b, 0x8e, 0x38, 0x09, + 0x96, 0xa4, 0xc6, 0x39, 0xe8, 0x4f, 0x9d, 0x31, 0x3d, 0x9d, 0xdf, 0x17, 0x08, 0x16, 0xad, 0xe3, + 0x5e, 0x97, 0x2b, 0xad, 0x62, 0xfe, 0x1b, 0x19, 0xa0, 0x0f, 0x7c, 0xc7, 0x21, 0x83, 0xd0, 0xf6, + 0xbd, 0x5e, 0xb7, 0xb5, 0xc8, 0xff, 0xcb, 0xec, 0x19, 0x7f, 0xd6, 0xe0, 0xda, 0x11, 0x19, 0xba, + 0xc4, 0x0b, 0x7b, 0xdd, 0x48, 0xfd, 0x3a, 0x2c, 0x0d, 0xfc, 0xb1, 0x17, 0x72, 0xfd, 0x0d, 0x2c, + 0x16, 0xe8, 0x2e, 0xe8, 0x83, 0x53, 0xd3, 0xf3, 0x88, 0xd3, 0xf7, 0x4c, 0x97, 0x70, 0x55, 0x35, + 0x5c, 0x97, 0x7b, 0xcf, 0x4d, 0x97, 0x14, 0x34, 0x56, 0x8b, 0x1a, 0xd1, 0x16, 0xd4, 0x47, 0x66, + 0x10, 0xda, 0x19, 0xa3, 0xd2, 0x5b, 0xc6, 0x5f, 0x34, 0xd8, 0x78, 0x4c, 0xa9, 0x3d, 0xf4, 0x0a, + 0x96, 0x6d, 0xc0, 0xb2, 0xe7, 0x5b, 0xa4, 0xd7, 0xe5, 0xa6, 0x55, 0xb1, 0x5c, 0xa1, 0x9b, 0x50, + 0x1b, 0x11, 0x12, 0xf4, 0x03, 0xdf, 0x89, 0x0c, 0x5b, 0x65, 0x1b, 0xd8, 0x77, 0x08, 0xfa, 0x29, + 0x5c, 0xa7, 0x39, 0x41, 0xb4, 0x55, 0xdd, 0xaa, 0x6e, 0xd7, 0x3b, 0xef, 0xee, 0x14, 0x32, 0x7b, + 0x27, 0xaf, 0x14, 0x17, 0xb9, 0x8d, 0x5f, 0x55, 0xe0, 0x46, 0x4c, 0x27, 0x6c, 0x65, 0xbf, 0x99, + 0xe7, 0x28, 0x19, 0xc6, 0xe6, 0x89, 0x45, 0x19, 0xcf, 0xc5, 0x2e, 0xaf, 0xa6, 0x5d, 0x5e, 0x22, + 0x82, 0x79, 0x7f, 0x2e, 0x15, 0xfc, 0x89, 0xee, 0x40, 0x9d, 0x9c, 0x8f, 0xec, 0x80, 0xf4, 0x43, + 0xdb, 0x25, 0xad, 0xe5, 0x2d, 0x6d, 0x7b, 0x11, 0x83, 0xd8, 0xfa, 0xc4, 0x76, 0x49, 0x2a, 0x67, + 0x57, 0xca, 0xe7, 0xec, 0xdf, 0x34, 0x78, 0xa7, 0x10, 0x25, 0x59, 0x48, 0x18, 0xae, 0xf1, 0x93, + 0x27, 0x9e, 0x61, 0xd5, 0xc4, 0x1c, 0x7e, 0x6f, 0x9a, 0xc3, 0x13, 0x72, 0x5c, 0xe0, 0x9f, 0xaf, + 0xb0, 0xfe, 0xaa, 0xc1, 0x8d, 0xa3, 0x53, 0xff, 0xa5, 0x54, 0x41, 0xe7, 0x2f, 0xb0, 0x7c, 0x28, + 0x2a, 0xb3, 0x43, 0x51, 0x2d, 0x86, 0x22, 0x2a, 0xd3, 0xc5, 0xa4, 0x4c, 0x8d, 0x33, 0x58, 0xcf, + 0x9a, 0x28, 0x9d, 0xb8, 0x09, 0x10, 0x27, 0x9e, 0x70, 0x5f, 0x15, 0xa7, 0x76, 0xe6, 0x73, 0xc8, + 0x19, 0xbc, 0xb3, 0x4f, 0x42, 0xa9, 0x8b, 0xfd, 0x47, 0x2e, 0xe1, 0x93, 0xac, 0x85, 0x95, 0xbc, + 0x85, 0xc6, 0xbf, 0x2b, 0x31, 0xb8, 0x70, 0x55, 0x3d, 0xef, 0xc4, 0x47, 0xb7, 0xa0, 0x16, 0x93, + 0xc8, 0x32, 0x49, 0x36, 0xd0, 0x77, 0x60, 0x89, 0x59, 0x2a, 0x6a, 0xa4, 0x99, 0x07, 0xdf, 0xe8, + 0x4c, 0x29, 0x99, 0x58, 0xd0, 0xa3, 0x1e, 0x34, 0x69, 0x68, 0x06, 0x61, 0x7f, 0xe4, 0x53, 0xee, + 0x6d, 0xee, 0xfe, 0x7a, 0xc7, 0x98, 0x00, 0xdf, 0x07, 0x74, 0x78, 0x28, 0x29, 0x71, 0x83, 0x73, + 0x46, 0x4b, 0xf4, 0x31, 0xe8, 0xc4, 0xb3, 0x12, 0x41, 0x8b, 0xa5, 0x05, 0xd5, 0x89, 0x67, 0xc5, + 0x62, 0x92, 0xf8, 0x2c, 0x95, 0x8f, 0xcf, 0x1f, 0x34, 0x68, 0x15, 0x03, 0x24, 0x33, 0x22, 0x91, + 0xa8, 0x95, 0x96, 0x88, 0x1e, 0x09, 0x26, 0x22, 0x02, 0x34, 0x15, 0xf2, 0xe2, 0x20, 0x61, 0xc9, + 0x62, 0xd8, 0xf0, 0xb5, 0xc4, 0x1a, 0xfe, 0xcf, 0x5b, 0x4b, 0x96, 0xdf, 0x68, 0xb0, 0x91, 0xd7, + 0x75, 0x99, 0x73, 0x7f, 0x0b, 0x96, 0x6c, 0xef, 0xc4, 0x8f, 0x8e, 0xbd, 0x39, 0x05, 0x78, 0x98, + 0x2e, 0x41, 0x6c, 0xb8, 0x70, 0x73, 0x9f, 0x84, 0x3d, 0x8f, 0x92, 0x20, 0xdc, 0xb3, 0x3d, 0xc7, + 0x1f, 0x1e, 0x9a, 0xe1, 0xe9, 0x25, 0x6a, 0x24, 0x93, 0xee, 0x95, 0x5c, 0xba, 0x1b, 0xff, 0xd0, + 0xe0, 0x96, 0x5a, 0x9f, 0x3c, 0x7a, 0x1b, 0x56, 0x4f, 0x6c, 0xe2, 0x58, 0x09, 0x04, 0xc4, 0x6b, + 0x56, 0x2b, 0x23, 0x46, 0x2c, 0x4f, 0x38, 0xa9, 0x51, 0x39, 0x0a, 0x03, 0xdb, 0x1b, 0x3e, 0xb3, + 0x69, 0x88, 0x05, 0x7d, 0xca, 0x9f, 0xd5, 0xf2, 0x99, 0xf9, 0x5b, 0x91, 0x99, 0xc2, 0xd4, 0x27, + 0xe2, 0xea, 0xa2, 0x6f, 0xb7, 0x61, 0x51, 0xb4, 0x0f, 0xc6, 0xef, 0x35, 0xd8, 0xdc, 0x27, 0xe1, + 0x93, 0x78, 0x8f, 0x99, 0x69, 0xd3, 0xd0, 0x1e, 0x5c, 0x81, 0x31, 0x5f, 0x6a, 0x70, 0x67, 0xa2, + 0x31, 0x32, 0x82, 0x12, 0xd1, 0xa2, 0x0b, 0x50, 0x8d, 0x68, 0x3f, 0x26, 0xaf, 0x3e, 0x35, 0x9d, + 0x31, 0x39, 0x34, 0xed, 0x40, 0x20, 0xda, 0x9c, 0xf8, 0xfe, 0x4f, 0x0d, 0x6e, 0xef, 0x13, 0xd6, + 0x8c, 0x8a, 0x3b, 0xe7, 0x0a, 0xbd, 0x53, 0xa2, 0xd3, 0xfb, 0xa3, 0x08, 0xa6, 0xd2, 0xda, 0x2b, + 0x71, 0xdf, 0x26, 0x2f, 0xc7, 0x14, 0x2e, 0xc8, 0x44, 0x97, 0xce, 0x33, 0x7c, 0xd8, 0xf8, 0xcc, + 0x0c, 0x07, 0xa7, 0x5d, 0xf7, 0xf2, 0x15, 0xf0, 0x2e, 0x34, 0xd2, 0x5d, 0xa1, 0x28, 0xe3, 0x1a, + 0xd6, 0x53, 0x6d, 0x21, 0x65, 0xbd, 0xf0, 0x3a, 0x7f, 0x1a, 0x5c, 0xbe, 0x83, 0x99, 0x37, 0x8c, + 0x59, 0xe0, 0x5e, 0x2c, 0x00, 0xf7, 0x39, 0x80, 0x34, 0xee, 0x80, 0x0e, 0xe7, 0xb0, 0xeb, 0xbb, + 0xb0, 0x22, 0xa5, 0xc9, 0x48, 0xcd, 0x82, 0xea, 0x88, 0xdc, 0x38, 0x82, 0x0d, 0xb9, 0xff, 0x94, + 0x61, 0xa2, 0xc0, 0xcf, 0x03, 0x12, 0x9a, 0xa8, 0x05, 0x2b, 0x12, 0x26, 0x65, 0x8b, 0x11, 0x2d, + 0x59, 0x33, 0x7c, 0xcc, 0xe9, 0xfa, 0x0c, 0x0b, 0x65, 0x2b, 0x0e, 0xc7, 0x31, 0xf4, 0x1a, 0xbf, + 0x80, 0x46, 0xb7, 0xfb, 0x2c, 0x25, 0xeb, 0x1e, 0xac, 0x59, 0x96, 0xd3, 0x4f, 0x73, 0x69, 0x9c, + 0xab, 0x61, 0x59, 0x4e, 0x82, 0xd9, 0xe8, 0x1b, 0xd0, 0x0c, 0x69, 0xbf, 0x28, 0x5c, 0x0f, 0x69, + 0x42, 0x65, 0x1c, 0x40, 0x93, 0x1b, 0xcb, 0x83, 0x3a, 0xc3, 0xd6, 0xbb, 0xa0, 0xa7, 0xc4, 0x45, + 0x09, 0x52, 0x4f, 0x8c, 0xa5, 0x0c, 0x0e, 0xa3, 0x16, 0x2b, 0x91, 0x38, 0xbd, 0xc5, 0xba, 0x0d, + 0x60, 0xd3, 0xfe, 0x09, 0xa3, 0x26, 0x16, 0xb7, 0x71, 0x15, 0xd7, 0x6c, 0xfa, 0x54, 0x6c, 0xa0, + 0xef, 0xc1, 0x32, 0xd7, 0xcf, 0xda, 0x16, 0x45, 0xc5, 0xf1, 0x68, 0x64, 0x4f, 0x80, 0x25, 0x83, + 0xf1, 0x33, 0xd0, 0xbb, 0xdd, 0x67, 0x89, 0x1d, 0xf9, 0xec, 0xd2, 0x14, 0xd9, 0x55, 0xe2, 0x8c, + 0xaf, 0xa1, 0x99, 0x20, 0x2c, 0xef, 0x21, 0x9b, 0x50, 0x89, 0xc5, 0x55, 0x7a, 0x5d, 0xf4, 0x7d, + 0x58, 0x16, 0x23, 0x06, 0x99, 0x41, 0xef, 0x65, 0x6d, 0x96, 0xe3, 0x87, 0x14, 0x4c, 0xf3, 0x0d, + 0x2c, 0x99, 0x58, 0x86, 0xc7, 0xa8, 0x24, 0x5e, 0x86, 0x55, 0x9c, 0xda, 0x31, 0xfe, 0x53, 0x85, + 0x7a, 0x2a, 0x01, 0x0b, 0xea, 0xdf, 0xcc, 0xdb, 0xe0, 0x3d, 0x68, 0xda, 0xfc, 0x72, 0xed, 0x4b, + 0x04, 0xe0, 0x88, 0x59, 0xc3, 0x0d, 0x3b, 0x7d, 0xe5, 0xa2, 0xaf, 0xc3, 0xaa, 0x37, 0x76, 0xfb, + 0x81, 0xff, 0x92, 0xca, 0xc7, 0xde, 0x8a, 0x37, 0x76, 0xb1, 0xff, 0x92, 0x26, 0xcd, 0xf3, 0xf2, + 0xa5, 0x9b, 0xe7, 0x95, 0x37, 0xd5, 0x3c, 0xaf, 0xce, 0xd7, 0x3c, 0x6f, 0x42, 0xdd, 0x35, 0xcf, + 0xd9, 0x29, 0xfb, 0xde, 0xd8, 0x6d, 0xd5, 0x44, 0x12, 0xbb, 0xe6, 0x39, 0xf6, 0x5f, 0x3e, 0x1f, + 0xbb, 0x68, 0x1b, 0xae, 0x39, 0x26, 0x0d, 0xfb, 0xe9, 0x87, 0x2d, 0xf0, 0x87, 0x6d, 0x93, 0xed, + 0x7f, 0x1c, 0x3f, 0x6e, 0x8d, 0x87, 0x50, 0xef, 0x75, 0x3b, 0x2c, 0x93, 0x58, 0x0b, 0x54, 0x88, + 0xdd, 0x3a, 0x2c, 0x1d, 0xa6, 0x12, 0x4f, 0x2c, 0x18, 0xec, 0xea, 0x91, 0x2d, 0xec, 0x52, 0x51, + 0x78, 0x48, 0x7b, 0x53, 0x1e, 0xaa, 0xcc, 0xe5, 0x21, 0xe3, 0x5f, 0x55, 0xd8, 0x38, 0x32, 0x5f, + 0x90, 0xb7, 0xdf, 0xa5, 0x96, 0xba, 0x25, 0x9e, 0xc1, 0x75, 0x8e, 0x02, 0x9d, 0x94, 0x3d, 0xf2, + 0xe5, 0xa4, 0xc2, 0xf3, 0x54, 0x48, 0x70, 0x91, 0x11, 0xfd, 0x08, 0x9a, 0x19, 0x70, 0x8d, 0xc0, + 0x68, 0x4b, 0x21, 0x2a, 0x83, 0xd6, 0x38, 0xc7, 0x87, 0xf6, 0x40, 0xb7, 0x5c, 0x27, 0xf1, 0xf6, + 0x32, 0x37, 0xe9, 0x8e, 0x42, 0x4e, 0x3a, 0xde, 0xb8, 0x6e, 0xb9, 0x4e, 0x1c, 0x31, 0x26, 0xc3, + 0x72, 0xf2, 0xc5, 0x51, 0x42, 0x86, 0x15, 0xcb, 0x60, 0x40, 0x0d, 0x4f, 0x4e, 0xc9, 0xe0, 0xec, + 0xd0, 0xb7, 0xbd, 0x70, 0x06, 0x44, 0xff, 0x00, 0x56, 0xe7, 0x48, 0x8f, 0x98, 0x87, 0x55, 0x0f, + 0xc3, 0x08, 0xff, 0x44, 0xc0, 0x84, 0x88, 0x57, 0xcd, 0x1b, 0xbb, 0x3f, 0x39, 0x61, 0x40, 0x61, + 0xfc, 0xae, 0x02, 0xfa, 0xa7, 0x12, 0x65, 0x38, 0xa2, 0x95, 0x41, 0xea, 0x2d, 0x48, 0x4f, 0xac, + 0x54, 0x43, 0xac, 0x7d, 0x68, 0x50, 0x42, 0xce, 0xe6, 0x79, 0x82, 0xeb, 0x8c, 0x31, 0x76, 0xf8, + 0x0f, 0x99, 0xaa, 0xc8, 0x57, 0xa2, 0xe7, 0xa8, 0x77, 0x6e, 0x2b, 0xfc, 0x9d, 0x78, 0x14, 0xa7, + 0x39, 0xd0, 0x36, 0xac, 0xc9, 0x0b, 0x2e, 0xea, 0x9b, 0x78, 0x02, 0x55, 0x71, 0x7e, 0xdb, 0x08, + 0xa0, 0x29, 0x7f, 0x8b, 0xac, 0xa1, 0x33, 0x42, 0xb3, 0x07, 0xfa, 0x49, 0xd2, 0x6c, 0x4c, 0x7b, + 0x5d, 0xa6, 0x7a, 0x12, 0x9c, 0xe1, 0x31, 0x1e, 0x43, 0x3d, 0xf5, 0xe7, 0x94, 0x06, 0xa0, 0x05, + 0x2b, 0xc7, 0x29, 0x3d, 0x35, 0x1c, 0x2d, 0x8d, 0xff, 0x6a, 0x7c, 0x90, 0x83, 0xc9, 0xc0, 0x7f, + 0x41, 0x82, 0x57, 0x99, 0xe7, 0xf2, 0xc5, 0xcb, 0xff, 0x11, 0xac, 0xca, 0x38, 0x46, 0x07, 0x52, + 0x25, 0x77, 0x3a, 0x63, 0x70, 0xcc, 0x80, 0x1e, 0x25, 0x46, 0x56, 0x27, 0x76, 0x0c, 0x59, 0x1f, + 0x27, 0xe7, 0xf8, 0x93, 0x78, 0xf5, 0x67, 0xcf, 0x71, 0xa5, 0x33, 0xba, 0xce, 0xff, 0x1a, 0x50, + 0xef, 0x9a, 0xa1, 0x79, 0x24, 0x3e, 0x81, 0xa0, 0x11, 0x20, 0xfe, 0xc6, 0x73, 0x47, 0xbe, 0x17, + 0xcf, 0x64, 0xd0, 0x47, 0x13, 0x92, 0xba, 0x48, 0x2a, 0xcf, 0xd3, 0xbe, 0x37, 0x81, 0x23, 0x47, + 0x6e, 0x2c, 0x20, 0x97, 0x6b, 0x64, 0xb7, 0xd7, 0x27, 0xf6, 0xe0, 0x2c, 0xba, 0xf8, 0xa7, 0x68, + 0xcc, 0x91, 0x46, 0x1a, 0x73, 0xa3, 0x1e, 0xb9, 0x10, 0xf3, 0x80, 0x28, 0x5b, 0x8c, 0x05, 0xf4, + 0x05, 0xac, 0xb3, 0x47, 0x4f, 0xfc, 0xf6, 0x8a, 0x14, 0x76, 0x26, 0x2b, 0x2c, 0x10, 0x5f, 0x50, + 0xa5, 0x09, 0x7a, 0xfa, 0x0b, 0x0c, 0x52, 0x8d, 0x85, 0x15, 0x1f, 0x89, 0xda, 0xef, 0xcf, 0xa4, + 0x8b, 0x55, 0xec, 0xc3, 0x12, 0xef, 0x44, 0x91, 0x2a, 0x95, 0xd3, 0x5f, 0x5b, 0xda, 0xd3, 0x5e, + 0x86, 0xc6, 0x02, 0xfa, 0x25, 0xac, 0xe5, 0xe6, 0xdc, 0xe8, 0x03, 0x85, 0x48, 0xf5, 0x17, 0x8b, + 0xf6, 0xfd, 0x32, 0xa4, 0x69, 0xbf, 0xa4, 0x67, 0xc1, 0x4a, 0xbf, 0x28, 0xe6, 0xd9, 0x4a, 0xbf, + 0xa8, 0x86, 0xca, 0xc6, 0x02, 0x1a, 0x42, 0x33, 0xfb, 0xc4, 0x45, 0xdb, 0x0a, 0x66, 0xe5, 0xd4, + 0xaf, 0xfd, 0x41, 0x09, 0xca, 0x58, 0x91, 0x0b, 0xd7, 0xf2, 0x93, 0x4c, 0x74, 0x7f, 0xaa, 0x80, + 0x6c, 0xbd, 0x7c, 0x58, 0x8a, 0x36, 0x56, 0xf7, 0x8a, 0x67, 0x71, 0x61, 0x92, 0x86, 0x76, 0xd4, + 0x62, 0x26, 0x8d, 0xf8, 0xda, 0xbb, 0xa5, 0xe9, 0x63, 0xd5, 0x04, 0xae, 0x17, 0x26, 0x63, 0xe8, + 0xc3, 0x69, 0x72, 0x72, 0xd3, 0x83, 0xf6, 0xec, 0xd9, 0x9d, 0xb1, 0x80, 0x7e, 0x2d, 0x30, 0x5f, + 0x35, 0x6d, 0x42, 0x0f, 0xd4, 0xda, 0xa6, 0x8c, 0xc9, 0xda, 0x9d, 0x8b, 0xb0, 0xc4, 0x67, 0x7d, + 0xcd, 0xf1, 0x5a, 0x31, 0xb1, 0xc9, 0xe3, 0x53, 0x24, 0x6f, 0xf2, 0x28, 0xaa, 0xfd, 0xe0, 0x02, + 0x1c, 0xb1, 0x01, 0x7e, 0x7e, 0x24, 0x1d, 0xc1, 0xd5, 0xee, 0xcc, 0xe4, 0x9c, 0x0f, 0xab, 0x3e, + 0x87, 0xb5, 0x5c, 0x9f, 0xad, 0xac, 0x7f, 0x75, 0x2f, 0x5e, 0x02, 0x5c, 0x72, 0xd7, 0x1f, 0x9a, + 0x50, 0x64, 0x8a, 0x2b, 0xb2, 0x7d, 0xbf, 0x0c, 0x69, 0x74, 0x90, 0xce, 0xdf, 0xab, 0xb0, 0xca, + 0x2e, 0x36, 0x8e, 0xb8, 0x5f, 0xfd, 0xad, 0x76, 0x05, 0xd7, 0xcc, 0xe7, 0xb0, 0x96, 0x1b, 0xd7, + 0x29, 0xbd, 0xab, 0x1e, 0xe9, 0xcd, 0x0a, 0xdd, 0x67, 0xd0, 0xc8, 0x4c, 0xe6, 0xd0, 0xfb, 0x93, + 0x2e, 0x9a, 0x3c, 0x5a, 0x4f, 0x17, 0xbc, 0xf7, 0xf0, 0xe7, 0x0f, 0x86, 0x76, 0x78, 0x3a, 0x3e, + 0x66, 0xff, 0xec, 0x0a, 0xd2, 0x6f, 0xda, 0xbe, 0xfc, 0xb5, 0x1b, 0x39, 0x68, 0x97, 0x73, 0xef, + 0x32, 0x35, 0xa3, 0xe3, 0xe3, 0x65, 0xbe, 0x7a, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, + 0x87, 0x24, 0x0f, 0xbf, 0x21, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2128,6 +2478,7 @@ type DataServiceClient interface { GetPartitionStatistics(ctx context.Context, in *GetPartitionStatisticsRequest, opts ...grpc.CallOption) (*GetPartitionStatisticsResponse, error) GetSegmentInfoChannel(ctx context.Context, in *GetSegmentInfoChannelRequest, opts ...grpc.CallOption) (*milvuspb.StringResponse, error) SaveBinlogPaths(ctx context.Context, in *SaveBinlogPathsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) } type dataServiceClient struct { @@ -2273,6 +2624,15 @@ func (c *dataServiceClient) SaveBinlogPaths(ctx context.Context, in *SaveBinlogP return out, nil } +func (c *dataServiceClient) GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) { + out := new(GetRecoveryInfoResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataService/GetRecoveryInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DataServiceServer is the server API for DataService service. type DataServiceServer interface { GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error) @@ -2290,6 +2650,7 @@ type DataServiceServer interface { GetPartitionStatistics(context.Context, *GetPartitionStatisticsRequest) (*GetPartitionStatisticsResponse, error) GetSegmentInfoChannel(context.Context, *GetSegmentInfoChannelRequest) (*milvuspb.StringResponse, error) SaveBinlogPaths(context.Context, *SaveBinlogPathsRequest) (*commonpb.Status, error) + GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) } // UnimplementedDataServiceServer can be embedded to have forward compatible implementations. @@ -2341,6 +2702,9 @@ func (*UnimplementedDataServiceServer) GetSegmentInfoChannel(ctx context.Context func (*UnimplementedDataServiceServer) SaveBinlogPaths(ctx context.Context, req *SaveBinlogPathsRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method SaveBinlogPaths not implemented") } +func (*UnimplementedDataServiceServer) GetRecoveryInfo(ctx context.Context, req *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRecoveryInfo not implemented") +} func RegisterDataServiceServer(s *grpc.Server, srv DataServiceServer) { s.RegisterService(&_DataService_serviceDesc, srv) @@ -2616,6 +2980,24 @@ func _DataService_SaveBinlogPaths_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _DataService_GetRecoveryInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRecoveryInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataServiceServer).GetRecoveryInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataService/GetRecoveryInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataServiceServer).GetRecoveryInfo(ctx, req.(*GetRecoveryInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _DataService_serviceDesc = grpc.ServiceDesc{ ServiceName: "milvus.proto.data.DataService", HandlerType: (*DataServiceServer)(nil), @@ -2680,6 +3062,10 @@ var _DataService_serviceDesc = grpc.ServiceDesc{ MethodName: "SaveBinlogPaths", Handler: _DataService_SaveBinlogPaths_Handler, }, + { + MethodName: "GetRecoveryInfo", + Handler: _DataService_GetRecoveryInfo_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "data_service.proto", diff --git a/internal/types/types.go b/internal/types/types.go index 2f3aaf3fbf1148454e1aefa74f891dfff22d58e8..5404a73acfb7732332a765ccbcb75a96509b4c2b 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -61,6 +61,7 @@ type DataService interface { GetCollectionStatistics(ctx context.Context, req *datapb.GetCollectionStatisticsRequest) (*datapb.GetCollectionStatisticsResponse, error) GetPartitionStatistics(ctx context.Context, req *datapb.GetPartitionStatisticsRequest) (*datapb.GetPartitionStatisticsResponse, error) GetSegmentInfo(ctx context.Context, req *datapb.GetSegmentInfoRequest) (*datapb.GetSegmentInfoResponse, error) + GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error) } type IndexNode interface {