未验证 提交 50b3d393 编写于 作者: S sunby 提交者: GitHub

Add GetRecoveryInfo interface and proto (#5598)

Signed-off-by: Nsunby <bingyi.sun@zilliz.com>
上级 fb358af0
......@@ -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),
......
......@@ -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
}
......@@ -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)
}
......@@ -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;
}
......@@ -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",
......
......@@ -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 {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册