diff --git a/api/commonpb/common.pb.go b/api/commonpb/common.pb.go index 5f14a990df..1490a45333 100644 --- a/api/commonpb/common.pb.go +++ b/api/commonpb/common.pb.go @@ -73,6 +73,7 @@ const ( ErrorCode_SegmentNotFound ErrorCode = 47 ErrorCode_ForceDeny ErrorCode = 48 ErrorCode_RateLimit ErrorCode = 49 + ErrorCode_NodeIDNotMatch ErrorCode = 50 // Service availability. // NA: Not Available. ErrorCode_DataCoordNA ErrorCode = 100 @@ -130,6 +131,7 @@ var ErrorCode_name = map[int32]string{ 47: "SegmentNotFound", 48: "ForceDeny", 49: "RateLimit", + 50: "NodeIDNotMatch", 100: "DataCoordNA", 1000: "DDRequestRace", } @@ -184,6 +186,7 @@ var ErrorCode_value = map[string]int32{ "SegmentNotFound": 47, "ForceDeny": 48, "RateLimit": 49, + "NodeIDNotMatch": 50, "DataCoordNA": 100, "DDRequestRace": 1000, } @@ -1146,6 +1149,7 @@ type MsgBase struct { MsgID int64 `protobuf:"varint,2,opt,name=msgID,proto3" json:"msgID,omitempty"` Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` SourceID int64 `protobuf:"varint,4,opt,name=sourceID,proto3" json:"sourceID,omitempty"` + TargetID int64 `protobuf:"varint,5,opt,name=targetID,proto3" json:"targetID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1204,6 +1208,13 @@ func (m *MsgBase) GetSourceID() int64 { return 0 } +func (m *MsgBase) GetTargetID() int64 { + if m != nil { + return m.TargetID + } + return 0 +} + // Don't Modify This. @czs type MsgHeader struct { Base *MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -1393,164 +1404,165 @@ func init() { func init() { proto.RegisterFile("common.proto", fileDescriptor_555bd8c177793206) } var fileDescriptor_555bd8c177793206 = []byte{ - // 2531 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xc9, 0x73, 0x24, 0x47, - 0xd5, 0x57, 0xa9, 0x5b, 0x4b, 0x67, 0xb7, 0x5a, 0x4f, 0x29, 0x8d, 0xa6, 0x3d, 0x8b, 0x47, 0xd6, - 0x67, 0x7f, 0x9f, 0xbe, 0xfe, 0x6c, 0x8d, 0x3d, 0x8e, 0xf8, 0x20, 0x88, 0x30, 0x81, 0xd4, 0x2d, - 0x69, 0x14, 0xd6, 0x46, 0x49, 0x63, 0x08, 0x22, 0x60, 0x22, 0xbb, 0xea, 0xa9, 0x95, 0x33, 0xd5, - 0x95, 0x45, 0x65, 0xb6, 0x46, 0xcd, 0xc9, 0x18, 0xf0, 0x85, 0x0b, 0x98, 0x7f, 0x80, 0x3f, 0x00, - 0x08, 0x76, 0x38, 0xb2, 0x63, 0xb3, 0x9d, 0xd9, 0xe1, 0x08, 0x77, 0x16, 0xe3, 0x95, 0x78, 0x59, - 0xd5, 0x55, 0xd5, 0x9a, 0x31, 0x1c, 0xb8, 0x75, 0xfe, 0xde, 0xcb, 0xb7, 0xe5, 0xdb, 0xaa, 0x59, - 0xcd, 0x53, 0xbd, 0x9e, 0x0a, 0x57, 0xa3, 0x58, 0x19, 0xc5, 0xe7, 0x7b, 0x32, 0x38, 0xed, 0xeb, - 0xe4, 0xb4, 0x9a, 0x90, 0x2e, 0x2d, 0x75, 0x95, 0xea, 0x06, 0x78, 0xdd, 0x82, 0x9d, 0xfe, 0xf1, - 0x75, 0x1f, 0xb5, 0x17, 0xcb, 0xc8, 0xa8, 0x38, 0x61, 0x5c, 0xbe, 0xcd, 0x26, 0x0f, 0x8d, 0x30, - 0x7d, 0xcd, 0x9f, 0x61, 0x0c, 0xe3, 0x58, 0xc5, 0xb7, 0x3d, 0xe5, 0x63, 0xc3, 0x59, 0x72, 0x56, - 0xea, 0x37, 0x1e, 0x5e, 0x7d, 0x80, 0xd4, 0xd5, 0x0d, 0x62, 0x6b, 0x29, 0x1f, 0xdd, 0x0a, 0x0e, - 0x7f, 0xf2, 0x45, 0x36, 0x19, 0xa3, 0xd0, 0x2a, 0x6c, 0x8c, 0x2f, 0x39, 0x2b, 0x15, 0x37, 0x3d, - 0x2d, 0xff, 0x3f, 0xab, 0x3d, 0x8b, 0x83, 0xe7, 0x44, 0xd0, 0xc7, 0x03, 0x21, 0x63, 0x0e, 0xac, - 0x74, 0x17, 0x07, 0x56, 0x7e, 0xc5, 0xa5, 0x9f, 0x7c, 0x81, 0x4d, 0x9c, 0x12, 0x39, 0xbd, 0x98, - 0x1c, 0x96, 0x9f, 0x66, 0xd5, 0x67, 0x71, 0xd0, 0x16, 0x46, 0xbc, 0xc3, 0x35, 0xce, 0xca, 0xbe, - 0x30, 0xc2, 0xde, 0xaa, 0xb9, 0xf6, 0xf7, 0xf2, 0x15, 0x56, 0x5e, 0x0f, 0x54, 0x27, 0x17, 0xe9, - 0x58, 0x62, 0x2a, 0xf2, 0x94, 0xc1, 0x41, 0x20, 0x3c, 0x3c, 0x51, 0x81, 0x8f, 0xb1, 0x35, 0x89, - 0xe4, 0x1a, 0xd1, 0x1d, 0xca, 0x35, 0xa2, 0xcb, 0xdf, 0xcd, 0xca, 0x66, 0x10, 0x25, 0xd6, 0xd4, - 0x6f, 0x3c, 0xfa, 0xc0, 0x08, 0x14, 0xc4, 0x1c, 0x0d, 0x22, 0x74, 0xed, 0x0d, 0x0a, 0x81, 0x55, - 0xa4, 0x1b, 0xa5, 0xa5, 0xd2, 0x4a, 0xcd, 0x4d, 0x4f, 0xcb, 0x1f, 0x1e, 0xd1, 0xbb, 0x15, 0xab, - 0x7e, 0xc4, 0xb7, 0x59, 0x2d, 0xca, 0x31, 0xdd, 0x70, 0x96, 0x4a, 0x2b, 0xd5, 0x1b, 0x8f, 0xfd, - 0x3b, 0x6d, 0xd6, 0x68, 0x77, 0xe4, 0xea, 0xf2, 0x13, 0x6c, 0x6a, 0xcd, 0xf7, 0x63, 0xd4, 0x9a, - 0xd7, 0xd9, 0xb8, 0x8c, 0x52, 0x67, 0xc6, 0x65, 0x44, 0x31, 0x8a, 0x54, 0x6c, 0xac, 0x2f, 0x25, - 0xd7, 0xfe, 0x5e, 0x7e, 0xc9, 0x61, 0x53, 0xbb, 0xba, 0xbb, 0x2e, 0x34, 0xf2, 0x77, 0xb1, 0xe9, - 0x9e, 0xee, 0xde, 0xb6, 0xfe, 0x26, 0x2f, 0x7e, 0xe5, 0x81, 0x16, 0xec, 0xea, 0xae, 0xf5, 0x73, - 0xaa, 0x97, 0xfc, 0xa0, 0x00, 0xf7, 0x74, 0x77, 0xbb, 0x9d, 0x4a, 0x4e, 0x0e, 0xfc, 0x0a, 0xab, - 0x18, 0xd9, 0x43, 0x6d, 0x44, 0x2f, 0x6a, 0x94, 0x96, 0x9c, 0x95, 0xb2, 0x9b, 0x03, 0xfc, 0x12, - 0x9b, 0xd6, 0xaa, 0x1f, 0x7b, 0xb8, 0xdd, 0x6e, 0x94, 0xed, 0xb5, 0xec, 0xbc, 0xfc, 0x0c, 0xab, - 0xec, 0xea, 0xee, 0x4d, 0x14, 0x3e, 0xc6, 0xfc, 0x49, 0x56, 0xee, 0x08, 0x9d, 0x58, 0x54, 0x7d, - 0x67, 0x8b, 0xc8, 0x03, 0xd7, 0x72, 0x2e, 0x7f, 0x84, 0xd5, 0xda, 0xbb, 0x3b, 0xff, 0x81, 0x04, - 0x32, 0x5d, 0x9f, 0x88, 0xd8, 0xdf, 0x13, 0xbd, 0x61, 0x22, 0xe6, 0xc0, 0xf2, 0xeb, 0x0e, 0xab, - 0x1d, 0xc4, 0xf2, 0x54, 0x06, 0xd8, 0xc5, 0x8d, 0x33, 0xc3, 0xdf, 0xc7, 0xaa, 0xaa, 0x73, 0x07, - 0x3d, 0x53, 0x8c, 0xdd, 0xb5, 0x07, 0xea, 0xd9, 0xb7, 0x7c, 0x36, 0x7c, 0x4c, 0x65, 0xbf, 0xf9, - 0x3e, 0x83, 0x54, 0x42, 0x34, 0x14, 0xfc, 0x2f, 0x53, 0x2e, 0x11, 0x93, 0x19, 0xe1, 0xce, 0xaa, - 0x51, 0x80, 0x37, 0xd9, 0x5c, 0x2a, 0x30, 0x14, 0x3d, 0xbc, 0x2d, 0x43, 0x1f, 0xcf, 0xec, 0x23, - 0x4c, 0x0c, 0x79, 0xc9, 0x95, 0x6d, 0x82, 0xf9, 0xe3, 0x8c, 0xdf, 0xc7, 0xab, 0xed, 0xa3, 0x4c, - 0xb8, 0x70, 0x8e, 0x59, 0x37, 0x5f, 0xa8, 0xb0, 0x4a, 0x56, 0xf3, 0xbc, 0xca, 0xa6, 0x0e, 0xfb, - 0x9e, 0x87, 0x5a, 0xc3, 0x18, 0x9f, 0x67, 0xb3, 0xb7, 0x42, 0x3c, 0x8b, 0xd0, 0x33, 0xe8, 0x5b, - 0x1e, 0x70, 0xf8, 0x1c, 0x9b, 0x69, 0xa9, 0x30, 0x44, 0xcf, 0x6c, 0x0a, 0x19, 0xa0, 0x0f, 0xe3, - 0x7c, 0x81, 0xc1, 0x01, 0xc6, 0x3d, 0xa9, 0xb5, 0x54, 0x61, 0x1b, 0x43, 0x89, 0x3e, 0x94, 0xf8, - 0x45, 0x36, 0xdf, 0x52, 0x41, 0x80, 0x9e, 0x91, 0x2a, 0xdc, 0x53, 0x66, 0xe3, 0x4c, 0x6a, 0xa3, - 0xa1, 0x4c, 0x62, 0xb7, 0x83, 0x00, 0xbb, 0x22, 0x58, 0x8b, 0xbb, 0xfd, 0x1e, 0x86, 0x06, 0x26, - 0x48, 0x46, 0x0a, 0xb6, 0x65, 0x0f, 0x43, 0x92, 0x04, 0x53, 0x05, 0xd4, 0x5a, 0x4b, 0xb1, 0x85, - 0x69, 0xfe, 0x10, 0xbb, 0x90, 0xa2, 0x05, 0x05, 0xa2, 0x87, 0x50, 0xe1, 0xb3, 0xac, 0x9a, 0x92, - 0x8e, 0xf6, 0x0f, 0x9e, 0x05, 0x56, 0x90, 0xe0, 0xaa, 0x7b, 0x2e, 0x7a, 0x2a, 0xf6, 0xa1, 0x5a, - 0x30, 0xe1, 0x39, 0xf4, 0x8c, 0x8a, 0xb7, 0xdb, 0x50, 0x23, 0x83, 0x53, 0xf0, 0x10, 0x45, 0xec, - 0x9d, 0xb8, 0xa8, 0xfb, 0x81, 0x81, 0x19, 0x0e, 0xac, 0xb6, 0x29, 0x03, 0xdc, 0x53, 0x66, 0x53, - 0xf5, 0x43, 0x1f, 0xea, 0xbc, 0xce, 0xd8, 0x2e, 0x1a, 0x91, 0x46, 0x60, 0x96, 0xd4, 0xb6, 0x84, - 0x77, 0x82, 0x29, 0x00, 0x7c, 0x91, 0xf1, 0x96, 0x08, 0x43, 0x65, 0x5a, 0x31, 0x0a, 0x83, 0x9b, - 0xb6, 0x9a, 0x61, 0x8e, 0xcc, 0x19, 0xc1, 0x65, 0x80, 0xc0, 0x73, 0xee, 0x36, 0x06, 0x98, 0x71, - 0xcf, 0xe7, 0xdc, 0x29, 0x4e, 0xdc, 0x0b, 0x64, 0xfc, 0x7a, 0x5f, 0x06, 0xbe, 0x0d, 0x49, 0xf2, - 0x2c, 0x17, 0xc8, 0xc6, 0xd4, 0xf8, 0xbd, 0x9d, 0xed, 0xc3, 0x23, 0x58, 0xe4, 0x17, 0xd8, 0x5c, - 0x8a, 0xec, 0xa2, 0x89, 0xa5, 0x67, 0x83, 0x77, 0x91, 0x4c, 0xdd, 0xef, 0x9b, 0xfd, 0xe3, 0x5d, - 0xec, 0xa9, 0x78, 0x00, 0x0d, 0x7a, 0x50, 0x2b, 0x69, 0xf8, 0x44, 0xf0, 0x10, 0x69, 0xd8, 0xe8, - 0x45, 0x66, 0x90, 0x87, 0x17, 0x2e, 0xf1, 0xcb, 0xec, 0xe2, 0xad, 0xc8, 0x17, 0x06, 0xb7, 0x7b, - 0xd4, 0x6a, 0x8e, 0x84, 0xbe, 0x4b, 0xee, 0xf6, 0x63, 0x84, 0xcb, 0xfc, 0x12, 0x5b, 0x1c, 0x7d, - 0x8b, 0x2c, 0x58, 0x57, 0xe8, 0x62, 0xe2, 0x6d, 0x2b, 0x46, 0x1f, 0x43, 0x23, 0x45, 0x30, 0xbc, - 0x78, 0x35, 0x97, 0x7a, 0x3f, 0xf1, 0x61, 0x22, 0x26, 0x9e, 0xdf, 0x4f, 0xbc, 0xc6, 0x1b, 0x6c, - 0x61, 0x0b, 0xcd, 0xfd, 0x94, 0x25, 0xa2, 0xec, 0x48, 0x6d, 0x49, 0xb7, 0x34, 0xc6, 0x7a, 0x48, - 0x79, 0x84, 0x73, 0x56, 0xdf, 0x42, 0x43, 0xe0, 0x10, 0x5b, 0xa6, 0x38, 0x25, 0xe6, 0xb9, 0x2a, - 0xc0, 0x21, 0xfc, 0x5f, 0x14, 0x83, 0x76, 0xac, 0xa2, 0x22, 0xf8, 0x28, 0xb9, 0xb9, 0x1f, 0x61, - 0x2c, 0x0c, 0x92, 0x8c, 0x22, 0xed, 0x31, 0x92, 0x73, 0x88, 0x14, 0x81, 0x22, 0xfc, 0xdf, 0x39, - 0x5c, 0xd4, 0xfa, 0x3f, 0x94, 0xc3, 0x29, 0x37, 0x26, 0x7d, 0x72, 0x48, 0x5a, 0x21, 0xaf, 0x53, - 0x25, 0x59, 0xfd, 0x0f, 0x89, 0xff, 0x4b, 0xa9, 0x92, 0xdc, 0xdb, 0x8a, 0x45, 0x68, 0x86, 0x78, - 0x93, 0x3f, 0xc2, 0xae, 0xba, 0x78, 0x1c, 0xa3, 0x3e, 0x39, 0x50, 0x81, 0xf4, 0x06, 0xdb, 0xe1, - 0xb1, 0xca, 0x52, 0x92, 0x58, 0xfe, 0x8f, 0x2c, 0xa1, 0xb0, 0x24, 0xf4, 0x21, 0xfc, 0x38, 0xc5, - 0x64, 0x4f, 0x99, 0x43, 0x6a, 0x87, 0x3b, 0xb6, 0xc1, 0xc2, 0x13, 0xa4, 0x65, 0x4f, 0xb9, 0x18, - 0x05, 0xd2, 0x13, 0x6b, 0xa7, 0x42, 0x06, 0xa2, 0x13, 0x20, 0xac, 0x52, 0x50, 0x0e, 0xb1, 0x4b, - 0x25, 0x9b, 0xbd, 0xef, 0x75, 0x3e, 0xc3, 0x2a, 0x9b, 0x2a, 0xf6, 0xb0, 0x8d, 0xe1, 0x00, 0x9e, - 0xa4, 0xa3, 0x2b, 0x0c, 0xee, 0xc8, 0x9e, 0x34, 0xf0, 0x14, 0xe5, 0x1b, 0xcd, 0xf9, 0x96, 0x52, - 0xb1, 0xbf, 0xb7, 0x06, 0x3e, 0xe7, 0x6c, 0xa6, 0xdd, 0x76, 0xf1, 0xa3, 0x7d, 0xd4, 0xc6, 0x15, - 0x1e, 0xc2, 0x9f, 0xa6, 0x9a, 0x1e, 0x63, 0x36, 0x07, 0x69, 0x5b, 0x41, 0xb2, 0x28, 0x3f, 0xed, - 0xa9, 0x10, 0x61, 0x8c, 0xd7, 0xd8, 0xf4, 0xad, 0x50, 0x6a, 0xdd, 0x47, 0x1f, 0x1c, 0xaa, 0xbf, - 0xed, 0xf0, 0x20, 0x56, 0x5d, 0x1a, 0x8c, 0x30, 0x4e, 0xd4, 0x4d, 0x19, 0x4a, 0x7d, 0x62, 0x3b, - 0x0f, 0x63, 0x93, 0x69, 0x21, 0x96, 0x79, 0x85, 0x4d, 0xb8, 0x68, 0xe2, 0x01, 0x4c, 0x34, 0x5f, - 0x70, 0x58, 0x2d, 0xb5, 0x3e, 0xd1, 0xb3, 0xc0, 0xa0, 0x78, 0xce, 0x35, 0x65, 0xa5, 0xe0, 0x50, - 0x43, 0xdc, 0x8a, 0xd5, 0x3d, 0x19, 0x76, 0x61, 0x9c, 0x04, 0x1f, 0xa2, 0x08, 0xac, 0x92, 0x2a, - 0x9b, 0xda, 0x0c, 0xfa, 0x56, 0x63, 0xd9, 0xea, 0xa7, 0x03, 0xb1, 0x4d, 0x10, 0x89, 0x52, 0x27, - 0x42, 0x1f, 0x26, 0x29, 0x1c, 0x49, 0xc1, 0x10, 0x6d, 0xaa, 0xf9, 0x5e, 0x36, 0x7b, 0x6e, 0xbf, - 0xe0, 0xd3, 0xac, 0x9c, 0xaa, 0x06, 0x56, 0x5b, 0x97, 0xa1, 0x88, 0x07, 0x49, 0x57, 0x02, 0x9f, - 0xa2, 0xb7, 0x19, 0x28, 0x61, 0x52, 0x00, 0x9b, 0xaf, 0xd6, 0xec, 0x80, 0xb7, 0x17, 0x67, 0x58, - 0xe5, 0x56, 0xe8, 0xe3, 0xb1, 0x0c, 0xd1, 0x87, 0x31, 0xdb, 0x2d, 0x92, 0x3a, 0xcb, 0xcb, 0x96, - 0xc2, 0x5d, 0x27, 0x63, 0x0a, 0x18, 0x52, 0xc9, 0xdf, 0x14, 0xba, 0x00, 0x1d, 0xd3, 0x8b, 0xb7, - 0xed, 0xfa, 0xd8, 0x29, 0x5e, 0xef, 0xda, 0x17, 0x3f, 0x51, 0xf7, 0x72, 0x4c, 0xc3, 0x09, 0x69, - 0xda, 0x42, 0x73, 0x38, 0xd0, 0x06, 0x7b, 0x2d, 0x15, 0x1e, 0xcb, 0xae, 0x06, 0x49, 0x9a, 0x76, - 0x94, 0xf0, 0x0b, 0xd7, 0xef, 0x50, 0xce, 0xb9, 0x18, 0xa0, 0xd0, 0x45, 0xa9, 0x77, 0x6d, 0xbf, - 0xb4, 0xa6, 0xae, 0x05, 0x52, 0x68, 0x08, 0xc8, 0x15, 0xb2, 0x32, 0x39, 0xf6, 0xe8, 0x7d, 0xd7, - 0x02, 0x83, 0x71, 0x72, 0x0e, 0xf9, 0x02, 0x9b, 0x4d, 0xf8, 0x0f, 0x44, 0x6c, 0xa4, 0x15, 0xf2, - 0xb2, 0x63, 0x33, 0x29, 0x56, 0x51, 0x8e, 0xbd, 0x42, 0xe3, 0xa9, 0x76, 0x53, 0xe8, 0x1c, 0xfa, - 0x89, 0xc3, 0x17, 0xd9, 0xdc, 0xd0, 0xb5, 0x1c, 0xff, 0xa9, 0xc3, 0xe7, 0x59, 0x9d, 0x5c, 0xcb, - 0x30, 0x0d, 0x3f, 0xb3, 0x20, 0x39, 0x51, 0x00, 0x7f, 0x6e, 0x25, 0xa4, 0x5e, 0x14, 0xf0, 0x5f, - 0x58, 0x65, 0x24, 0x21, 0x4d, 0x22, 0x0d, 0xaf, 0x39, 0x64, 0xe9, 0x50, 0x59, 0x0a, 0xc3, 0xeb, - 0x96, 0x91, 0xa4, 0x66, 0x8c, 0x6f, 0x58, 0xc6, 0x54, 0x66, 0x86, 0xbe, 0x69, 0xd1, 0x9b, 0x22, - 0xf4, 0xd5, 0xf1, 0x71, 0x86, 0xbe, 0xe5, 0xf0, 0x06, 0x9b, 0xa7, 0xeb, 0xeb, 0x22, 0x10, 0xa1, - 0x97, 0xf3, 0xbf, 0xed, 0xf0, 0x0b, 0x0c, 0xce, 0xa9, 0xd3, 0xf0, 0xfc, 0x38, 0x87, 0x61, 0x7c, - 0x6d, 0x1d, 0xc1, 0x17, 0xc6, 0x6d, 0xac, 0x52, 0xc6, 0x04, 0xfb, 0xe2, 0x38, 0xaf, 0x27, 0x41, - 0x4f, 0xce, 0x5f, 0x1a, 0xe7, 0x55, 0x36, 0xb9, 0x1d, 0x6a, 0x8c, 0x0d, 0x7c, 0x86, 0xf2, 0x7b, - 0x32, 0xe9, 0xbd, 0xf0, 0x59, 0xaa, 0xa8, 0x09, 0x9b, 0xdf, 0xf0, 0x12, 0xcd, 0x75, 0xee, 0xa2, - 0xc6, 0xd0, 0x2f, 0xd4, 0x8e, 0x86, 0xcf, 0xd9, 0x1b, 0xc9, 0xe0, 0x84, 0xbf, 0x94, 0x6c, 0x68, - 0x8a, 0x53, 0xf4, 0xaf, 0x25, 0x32, 0x61, 0x0b, 0x4d, 0x5e, 0xd9, 0xf0, 0xb7, 0x12, 0xbf, 0xc4, - 0x2e, 0x0c, 0x31, 0x3b, 0xd3, 0xb2, 0x9a, 0xfe, 0x7b, 0x89, 0x5f, 0x61, 0x17, 0xa9, 0xc1, 0x67, - 0x79, 0x43, 0x97, 0xa4, 0x36, 0xd2, 0xd3, 0xf0, 0x6a, 0x89, 0x5f, 0x66, 0x8b, 0x5b, 0x68, 0xb2, - 0xf7, 0x28, 0x10, 0xff, 0x51, 0xe2, 0x33, 0x6c, 0x9a, 0xaa, 0x5e, 0xe2, 0x29, 0xc2, 0x6b, 0x25, - 0x7a, 0xd4, 0xe1, 0x31, 0x35, 0xe7, 0xf5, 0x12, 0x85, 0xfa, 0x03, 0xc2, 0x78, 0x27, 0xed, 0x5e, - 0xeb, 0x44, 0x84, 0x21, 0x06, 0x1a, 0xde, 0x28, 0x51, 0x40, 0x5d, 0xec, 0xa9, 0x53, 0x2c, 0xc0, - 0x6f, 0x5a, 0xa7, 0x2d, 0xf3, 0xfb, 0xfb, 0x18, 0x0f, 0x32, 0xc2, 0x5b, 0x25, 0x7a, 0x9a, 0x84, - 0x7f, 0x94, 0xf2, 0x76, 0x89, 0x5f, 0x65, 0x8d, 0xa4, 0x59, 0x0c, 0x1f, 0x86, 0x88, 0x5d, 0xa4, - 0xc6, 0x0c, 0xcf, 0x97, 0x33, 0x89, 0x6d, 0x0c, 0x8c, 0xc8, 0xee, 0x7d, 0xbc, 0x4c, 0x76, 0x51, - 0x71, 0xe5, 0xfd, 0x58, 0xc3, 0x0b, 0x65, 0x7a, 0xd1, 0x2d, 0x34, 0x69, 0x4b, 0xd6, 0xf0, 0x09, - 0x5a, 0xa3, 0xea, 0xb7, 0x42, 0xdd, 0xef, 0x64, 0x86, 0xc2, 0x27, 0x87, 0x97, 0xdb, 0x52, 0x9b, - 0x58, 0x76, 0xfa, 0x36, 0xd3, 0x3f, 0x55, 0x26, 0xa7, 0x0e, 0x07, 0xa1, 0x37, 0x02, 0xbf, 0x68, - 0x65, 0xa6, 0xb6, 0x59, 0xa3, 0x7e, 0x59, 0xe6, 0xb3, 0x8c, 0x25, 0x55, 0x6d, 0x81, 0x5f, 0x0d, - 0xe5, 0xd1, 0xde, 0x74, 0x8a, 0xb1, 0x1d, 0x2a, 0xf0, 0xeb, 0xcc, 0xc4, 0x42, 0xef, 0x84, 0xdf, - 0x94, 0x29, 0xe8, 0x47, 0xb2, 0x87, 0x47, 0xd2, 0xbb, 0x0b, 0x5f, 0xae, 0x90, 0x7d, 0x36, 0x26, - 0x7b, 0xca, 0xc7, 0x24, 0x47, 0xbe, 0x52, 0xa1, 0x94, 0xa3, 0x4c, 0x4e, 0x52, 0xee, 0xab, 0xf6, - 0x9c, 0x8e, 0x82, 0xed, 0x36, 0x7c, 0x8d, 0xf6, 0x37, 0x96, 0x9e, 0x8f, 0x0e, 0xf7, 0xe1, 0xeb, - 0x15, 0x52, 0xb5, 0x16, 0x04, 0xca, 0x13, 0x26, 0xab, 0xa7, 0x6f, 0x54, 0xa8, 0x20, 0x0b, 0xda, - 0xd3, 0x77, 0xff, 0x66, 0xc5, 0x3a, 0x9a, 0xe0, 0x36, 0x5d, 0xdb, 0xd4, 0x56, 0xbf, 0x65, 0xa5, - 0xd2, 0x0c, 0x22, 0x4b, 0x8e, 0x0c, 0x7c, 0xdb, 0xf2, 0x9d, 0x5f, 0x49, 0xe0, 0xb7, 0xd5, 0x34, - 0x43, 0x0b, 0xd8, 0xef, 0xaa, 0x49, 0x85, 0x8d, 0xee, 0x20, 0xf0, 0x7b, 0x0b, 0x9f, 0xdf, 0x5b, - 0xe0, 0x0f, 0x55, 0x32, 0xac, 0xb8, 0x7a, 0xd0, 0x02, 0xae, 0xe1, 0x8f, 0x55, 0xb2, 0x20, 0x5f, - 0x32, 0xe0, 0x3b, 0x35, 0x0a, 0xd6, 0x70, 0xbd, 0x80, 0xef, 0xd6, 0xc8, 0xcd, 0x73, 0x8b, 0x05, - 0x7c, 0xaf, 0x66, 0x9f, 0x23, 0x5b, 0x29, 0xe0, 0xfb, 0x05, 0x80, 0xb8, 0xe0, 0x07, 0x35, 0xdb, - 0xc3, 0x46, 0xd6, 0x08, 0xf8, 0x61, 0x8d, 0x6c, 0x3b, 0xbf, 0x40, 0xc0, 0x8f, 0x6a, 0xc9, 0x73, - 0x67, 0xab, 0x03, 0xfc, 0xb8, 0x46, 0x35, 0xf4, 0xe0, 0xa5, 0x01, 0x5e, 0xb6, 0xba, 0xf2, 0x75, - 0x01, 0x5e, 0xa9, 0x35, 0x97, 0xd9, 0x54, 0x5b, 0x07, 0x76, 0xf2, 0x4c, 0xb1, 0x52, 0x5b, 0x07, - 0x30, 0x46, 0x8d, 0x7a, 0x5d, 0xa9, 0x60, 0xe3, 0x2c, 0x8a, 0x9f, 0x7b, 0x0a, 0x9c, 0xe6, 0x3a, - 0x9b, 0x6d, 0xa9, 0x5e, 0x24, 0xb2, 0x82, 0xb5, 0xc3, 0x26, 0x99, 0x52, 0xe8, 0x27, 0xa9, 0x32, - 0x46, 0xdd, 0x7e, 0xe3, 0x0c, 0xbd, 0xbe, 0x9d, 0x89, 0x0e, 0x1d, 0xe9, 0x12, 0x05, 0xd9, 0x87, - 0xf1, 0xe6, 0x07, 0x19, 0xb4, 0x54, 0xa8, 0xa5, 0x36, 0x18, 0x7a, 0x83, 0x1d, 0x3c, 0xc5, 0xc0, - 0x4e, 0x5e, 0x13, 0xab, 0xb0, 0x0b, 0x63, 0xf6, 0x1b, 0x05, 0xed, 0xb7, 0x46, 0x32, 0x9f, 0xd7, - 0x69, 0x0f, 0xb1, 0x1f, 0x22, 0x75, 0xc6, 0x36, 0x4e, 0x31, 0x34, 0x7d, 0x11, 0x04, 0x03, 0x28, - 0xd1, 0xb9, 0xd5, 0xd7, 0x46, 0xf5, 0xe4, 0xc7, 0x68, 0x4c, 0x37, 0x3f, 0xed, 0xb0, 0x6a, 0x32, - 0x8c, 0x33, 0xd3, 0x92, 0xe3, 0x01, 0x86, 0xbe, 0xb4, 0xc2, 0x69, 0x8f, 0xb6, 0x50, 0xba, 0x41, - 0x38, 0x39, 0xd3, 0xa1, 0x11, 0xb1, 0xb5, 0xd0, 0x7e, 0x3e, 0xa4, 0xf7, 0x62, 0x6b, 0xa7, 0x0f, - 0x13, 0x39, 0x98, 0xfb, 0x32, 0x49, 0x0b, 0x63, 0x51, 0xdc, 0x5a, 0xe8, 0xb7, 0x02, 0x14, 0x34, - 0xaf, 0xa7, 0x9a, 0x37, 0x18, 0xcb, 0x3f, 0x1f, 0xad, 0xad, 0xf9, 0x88, 0x1c, 0x23, 0x8f, 0xb7, - 0x02, 0xd5, 0x11, 0x01, 0x38, 0xb4, 0x21, 0xd8, 0x07, 0x1f, 0x6f, 0xbe, 0x38, 0xc1, 0x66, 0xcf, - 0x7d, 0x2c, 0x92, 0xc9, 0xd9, 0x61, 0x2d, 0xa0, 0x57, 0xb9, 0xca, 0x1e, 0xca, 0x90, 0xfb, 0x56, - 0x02, 0x87, 0x16, 0xcc, 0x8c, 0x7c, 0x6e, 0x37, 0x18, 0xe7, 0xd7, 0xd8, 0xe5, 0x9c, 0x78, 0xff, - 0x46, 0x40, 0x6d, 0xb9, 0x91, 0x31, 0x9c, 0x5f, 0x0d, 0xca, 0x14, 0xad, 0x8c, 0x4a, 0x95, 0x9e, - 0x7c, 0xda, 0xe5, 0x5f, 0xb6, 0xc9, 0xc8, 0x83, 0x49, 0xfa, 0xda, 0xca, 0x6d, 0xcc, 0x52, 0x06, - 0xa6, 0x28, 0x8e, 0x19, 0x21, 0x1d, 0x47, 0xd3, 0x23, 0x60, 0x3a, 0x96, 0x2a, 0x14, 0xdc, 0x0c, - 0xa4, 0x7e, 0x94, 0xb7, 0x02, 0x46, 0xdf, 0x00, 0xe7, 0x42, 0x90, 0xf4, 0x9c, 0xea, 0x08, 0xc5, - 0x62, 0x6d, 0x34, 0x42, 0x06, 0x50, 0xa3, 0x1d, 0x68, 0x24, 0x2e, 0xc9, 0x8d, 0x99, 0x11, 0xe5, - 0xe9, 0x84, 0xab, 0xd3, 0xb6, 0x93, 0xaf, 0xe7, 0x76, 0x36, 0xce, 0x8e, 0x60, 0xb6, 0xf7, 0x01, - 0x8c, 0xa8, 0x2b, 0x0c, 0x71, 0x98, 0x1b, 0x75, 0xd4, 0x26, 0x09, 0xf0, 0x91, 0xe8, 0x26, 0x76, - 0xef, 0xdf, 0x0b, 0x31, 0xd6, 0x27, 0x32, 0x82, 0xf9, 0x91, 0xa0, 0x25, 0xed, 0xc7, 0xe6, 0xc5, - 0xc2, 0x48, 0x28, 0xc8, 0xf4, 0xfc, 0xd2, 0x85, 0xd1, 0x07, 0xb3, 0x0d, 0x20, 0xa7, 0x2e, 0x8e, - 0x50, 0x77, 0x45, 0x28, 0xba, 0x05, 0x85, 0x17, 0x47, 0x14, 0x16, 0x3a, 0x4f, 0xe3, 0x3d, 0x8a, - 0xcd, 0x65, 0x7f, 0x6d, 0xdc, 0xc6, 0x33, 0x73, 0x5b, 0x75, 0xee, 0xf0, 0x6b, 0xab, 0xc9, 0x5f, - 0x92, 0xab, 0xc3, 0xbf, 0x24, 0x57, 0x77, 0x51, 0x6b, 0x12, 0x19, 0xd9, 0xfc, 0x68, 0xfc, 0x79, - 0xca, 0xfe, 0x67, 0xf3, 0xc8, 0x83, 0xff, 0x09, 0x2b, 0xfc, 0x07, 0xe3, 0xce, 0x46, 0x85, 0xd3, - 0x7e, 0xe7, 0xce, 0xfa, 0x0e, 0xab, 0x4b, 0x35, 0xbc, 0xd7, 0x8d, 0x23, 0x6f, 0xbd, 0xda, 0xb2, - 0xf7, 0x0e, 0x48, 0xc6, 0x81, 0xf3, 0xa1, 0x95, 0xae, 0x34, 0x27, 0xfd, 0x0e, 0x49, 0xbb, 0x9e, - 0xb0, 0x3d, 0x21, 0x55, 0xfa, 0xeb, 0xba, 0x88, 0xe4, 0xf5, 0x44, 0x4d, 0xd4, 0xf9, 0xbc, 0xe3, - 0x74, 0x26, 0xad, 0xe6, 0xa7, 0xff, 0x19, 0x00, 0x00, 0xff, 0xff, 0x05, 0x17, 0xce, 0xdd, 0x67, - 0x15, 0x00, 0x00, + // 2552 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xc9, 0x73, 0x63, 0x47, + 0x19, 0x9f, 0x67, 0xc9, 0x96, 0xd5, 0x92, 0xe5, 0x76, 0xdb, 0xe3, 0x51, 0x66, 0xc9, 0x38, 0x26, + 0x01, 0x23, 0x12, 0x4f, 0x32, 0xa9, 0x02, 0x8a, 0xaa, 0x50, 0xd8, 0x92, 0xed, 0x51, 0xc5, 0x1b, + 0xcf, 0x9e, 0x40, 0x51, 0x05, 0x53, 0xad, 0xf7, 0x3e, 0xcb, 0x3d, 0xf3, 0xf4, 0xfa, 0xf1, 0xba, + 0xe5, 0xb1, 0x38, 0x85, 0x00, 0xb9, 0x70, 0x61, 0xa9, 0xe2, 0xcc, 0x1f, 0x00, 0x29, 0x76, 0x38, + 0xb2, 0x93, 0xb0, 0x9d, 0xd9, 0xe1, 0x08, 0x77, 0x96, 0x90, 0x95, 0xfa, 0xba, 0xdf, 0x26, 0xcf, + 0x04, 0x0e, 0xdc, 0xd4, 0xbf, 0xef, 0xeb, 0x6f, 0xeb, 0x6f, 0x7b, 0x22, 0x75, 0x4f, 0x0e, 0x06, + 0x32, 0x5c, 0x8d, 0x62, 0xa9, 0x25, 0x9b, 0x1f, 0x88, 0xe0, 0x64, 0xa8, 0xec, 0x69, 0xd5, 0x92, + 0x2e, 0x2e, 0xf5, 0xa5, 0xec, 0x07, 0x70, 0xcd, 0x80, 0xbd, 0xe1, 0xd1, 0x35, 0x1f, 0x94, 0x17, + 0x8b, 0x48, 0xcb, 0xd8, 0x32, 0x2e, 0xdf, 0x22, 0x53, 0x07, 0x9a, 0xeb, 0xa1, 0x62, 0x4f, 0x11, + 0x02, 0x71, 0x2c, 0xe3, 0x5b, 0x9e, 0xf4, 0xa1, 0xe9, 0x2c, 0x39, 0x2b, 0x8d, 0xeb, 0x0f, 0xae, + 0xde, 0x47, 0xea, 0xea, 0x06, 0xb2, 0xb5, 0xa5, 0x0f, 0x6e, 0x15, 0xd2, 0x9f, 0x6c, 0x91, 0x4c, + 0xc5, 0xc0, 0x95, 0x0c, 0x9b, 0x13, 0x4b, 0xce, 0x4a, 0xd5, 0x4d, 0x4e, 0xcb, 0xef, 0x26, 0xf5, + 0xa7, 0x61, 0xf4, 0x0c, 0x0f, 0x86, 0xb0, 0xcf, 0x45, 0xcc, 0x28, 0x29, 0xdd, 0x81, 0x91, 0x91, + 0x5f, 0x75, 0xf1, 0x27, 0x5b, 0x20, 0x93, 0x27, 0x48, 0x4e, 0x2e, 0xda, 0xc3, 0xf2, 0x93, 0xa4, + 0xf6, 0x34, 0x8c, 0x3a, 0x5c, 0xf3, 0xb7, 0xb8, 0xc6, 0x48, 0xd9, 0xe7, 0x9a, 0x9b, 0x5b, 0x75, + 0xd7, 0xfc, 0x5e, 0xbe, 0x4c, 0xca, 0xeb, 0x81, 0xec, 0xe5, 0x22, 0x1d, 0x43, 0x4c, 0x44, 0x9e, + 0x10, 0xba, 0x1f, 0x70, 0x0f, 0x8e, 0x65, 0xe0, 0x43, 0x6c, 0x4c, 0x42, 0xb9, 0x9a, 0xf7, 0x53, + 0xb9, 0x9a, 0xf7, 0xd9, 0x7b, 0x49, 0x59, 0x8f, 0x22, 0x6b, 0x4d, 0xe3, 0xfa, 0xc3, 0xf7, 0x8d, + 0x40, 0x41, 0xcc, 0xe1, 0x28, 0x02, 0xd7, 0xdc, 0xc0, 0x10, 0x18, 0x45, 0xaa, 0x59, 0x5a, 0x2a, + 0xad, 0xd4, 0xdd, 0xe4, 0xb4, 0xfc, 0xd1, 0x31, 0xbd, 0x5b, 0xb1, 0x1c, 0x46, 0xac, 0x4b, 0xea, + 0x51, 0x8e, 0xa9, 0xa6, 0xb3, 0x54, 0x5a, 0xa9, 0x5d, 0x7f, 0xe4, 0x7f, 0x69, 0x33, 0x46, 0xbb, + 0x63, 0x57, 0x97, 0x1f, 0x23, 0x95, 0x35, 0xdf, 0x8f, 0x41, 0x29, 0xd6, 0x20, 0x13, 0x22, 0x4a, + 0x9c, 0x99, 0x10, 0x11, 0xc6, 0x28, 0x92, 0xb1, 0x36, 0xbe, 0x94, 0x5c, 0xf3, 0x7b, 0xf9, 0x05, + 0x87, 0x54, 0x76, 0x54, 0x7f, 0x9d, 0x2b, 0x60, 0xef, 0x21, 0xd3, 0x03, 0xd5, 0xbf, 0x65, 0xfc, + 0xb5, 0x2f, 0x7e, 0xf9, 0xbe, 0x16, 0xec, 0xa8, 0xbe, 0xf1, 0xb3, 0x32, 0xb0, 0x3f, 0x30, 0xc0, + 0x03, 0xd5, 0xef, 0x76, 0x12, 0xc9, 0xf6, 0xc0, 0x2e, 0x93, 0xaa, 0x16, 0x03, 0x50, 0x9a, 0x0f, + 0xa2, 0x66, 0x69, 0xc9, 0x59, 0x29, 0xbb, 0x39, 0xc0, 0x2e, 0x92, 0x69, 0x25, 0x87, 0xb1, 0x07, + 0xdd, 0x4e, 0xb3, 0x6c, 0xae, 0x65, 0x67, 0xa4, 0x69, 0x1e, 0xf7, 0x41, 0x77, 0x3b, 0xcd, 0x49, + 0x4b, 0x4b, 0xcf, 0xcb, 0x4f, 0x91, 0xea, 0x8e, 0xea, 0xdf, 0x00, 0xee, 0x43, 0xcc, 0x1e, 0x27, + 0xe5, 0x1e, 0x57, 0xd6, 0xda, 0xda, 0x5b, 0x5b, 0x8b, 0xde, 0xb9, 0x86, 0x73, 0xf9, 0x63, 0xa4, + 0xde, 0xd9, 0xd9, 0xfe, 0x3f, 0x24, 0xa0, 0x5b, 0xea, 0x98, 0xc7, 0xfe, 0x2e, 0x1f, 0xa4, 0x49, + 0x9a, 0x03, 0xcb, 0xaf, 0x3a, 0xa4, 0xbe, 0x1f, 0x8b, 0x13, 0x11, 0x40, 0x1f, 0x36, 0x4e, 0x35, + 0xfb, 0x00, 0xa9, 0xc9, 0xde, 0x6d, 0xf0, 0x74, 0x31, 0xae, 0x57, 0xef, 0xab, 0x67, 0xcf, 0xf0, + 0x99, 0xd0, 0x12, 0x99, 0xfd, 0x66, 0x7b, 0x84, 0x26, 0x12, 0xa2, 0x54, 0xf0, 0x7f, 0x4d, 0x47, + 0x2b, 0x26, 0x33, 0xc2, 0x9d, 0x95, 0xe3, 0x00, 0x6b, 0x91, 0xb9, 0x44, 0x60, 0xc8, 0x07, 0x70, + 0x4b, 0x84, 0x3e, 0x9c, 0x9a, 0x07, 0x9a, 0x4c, 0x79, 0xd1, 0x95, 0x2e, 0xc2, 0xec, 0x51, 0xc2, + 0xee, 0xe1, 0x55, 0xe6, 0xc1, 0x26, 0x5d, 0x7a, 0x86, 0x59, 0xb5, 0xbe, 0x54, 0x25, 0xd5, 0xac, + 0x1f, 0xb0, 0x1a, 0xa9, 0x1c, 0x0c, 0x3d, 0x0f, 0x94, 0xa2, 0xe7, 0xd8, 0x3c, 0x99, 0xbd, 0x19, + 0xc2, 0x69, 0x04, 0x9e, 0x06, 0xdf, 0xf0, 0x50, 0x87, 0xcd, 0x91, 0x99, 0xb6, 0x0c, 0x43, 0xf0, + 0xf4, 0x26, 0x17, 0x01, 0xf8, 0x74, 0x82, 0x2d, 0x10, 0xba, 0x0f, 0xf1, 0x40, 0x28, 0x25, 0x64, + 0xd8, 0x81, 0x50, 0x80, 0x4f, 0x4b, 0xec, 0x02, 0x99, 0x6f, 0xcb, 0x20, 0x00, 0x4f, 0x0b, 0x19, + 0xee, 0x4a, 0xbd, 0x71, 0x2a, 0x94, 0x56, 0xb4, 0x8c, 0x62, 0xbb, 0x41, 0x00, 0x7d, 0x1e, 0xac, + 0xc5, 0xfd, 0xe1, 0x00, 0x42, 0x4d, 0x27, 0x51, 0x46, 0x02, 0x76, 0xc4, 0x00, 0x42, 0x94, 0x44, + 0x2b, 0x05, 0xd4, 0x58, 0x8b, 0xb1, 0xa5, 0xd3, 0xec, 0x01, 0x72, 0x3e, 0x41, 0x0b, 0x0a, 0xf8, + 0x00, 0x68, 0x95, 0xcd, 0x92, 0x5a, 0x42, 0x3a, 0xdc, 0xdb, 0x7f, 0x9a, 0x92, 0x82, 0x04, 0x57, + 0xde, 0x75, 0xc1, 0x93, 0xb1, 0x4f, 0x6b, 0x05, 0x13, 0x9e, 0x01, 0x4f, 0xcb, 0xb8, 0xdb, 0xa1, + 0x75, 0x34, 0x38, 0x01, 0x0f, 0x80, 0xc7, 0xde, 0xb1, 0x0b, 0x6a, 0x18, 0x68, 0x3a, 0xc3, 0x28, + 0xa9, 0x6f, 0x8a, 0x00, 0x76, 0xa5, 0xde, 0x94, 0xc3, 0xd0, 0xa7, 0x0d, 0xd6, 0x20, 0x64, 0x07, + 0x34, 0x4f, 0x22, 0x30, 0x8b, 0x6a, 0xdb, 0xdc, 0x3b, 0x86, 0x04, 0xa0, 0x6c, 0x91, 0xb0, 0x36, + 0x0f, 0x43, 0xa9, 0xdb, 0x31, 0x70, 0x0d, 0x9b, 0xa6, 0xd2, 0xe9, 0x1c, 0x9a, 0x33, 0x86, 0x8b, + 0x00, 0x28, 0xcb, 0xb9, 0x3b, 0x10, 0x40, 0xc6, 0x3d, 0x9f, 0x73, 0x27, 0x38, 0x72, 0x2f, 0xa0, + 0xf1, 0xeb, 0x43, 0x11, 0xf8, 0x26, 0x24, 0xf6, 0x59, 0xce, 0xa3, 0x8d, 0x89, 0xf1, 0xbb, 0xdb, + 0xdd, 0x83, 0x43, 0xba, 0xc8, 0xce, 0x93, 0xb9, 0x04, 0xd9, 0x01, 0x1d, 0x0b, 0xcf, 0x04, 0xef, + 0x02, 0x9a, 0xba, 0x37, 0xd4, 0x7b, 0x47, 0x3b, 0x30, 0x90, 0xf1, 0x88, 0x36, 0xf1, 0x41, 0x8d, + 0xa4, 0xf4, 0x89, 0xe8, 0x03, 0xa8, 0x61, 0x63, 0x10, 0xe9, 0x51, 0x1e, 0x5e, 0x7a, 0x91, 0x5d, + 0x22, 0x17, 0x6e, 0x46, 0x3e, 0xd7, 0xd0, 0x1d, 0x60, 0x1b, 0x3a, 0xe4, 0xea, 0x0e, 0xba, 0x3b, + 0x8c, 0x81, 0x5e, 0x62, 0x17, 0xc9, 0xe2, 0xf8, 0x5b, 0x64, 0xc1, 0xba, 0x8c, 0x17, 0xad, 0xb7, + 0xed, 0x18, 0x7c, 0x08, 0xb5, 0xe0, 0x41, 0x7a, 0xf1, 0x4a, 0x2e, 0xf5, 0x5e, 0xe2, 0x83, 0x48, + 0xb4, 0x9e, 0xdf, 0x4b, 0xbc, 0xca, 0x9a, 0x64, 0x61, 0x0b, 0xf4, 0xbd, 0x94, 0x25, 0xa4, 0x6c, + 0x0b, 0x65, 0x48, 0x37, 0x15, 0xc4, 0x2a, 0xa5, 0x3c, 0xc4, 0x18, 0x69, 0x6c, 0x81, 0x46, 0x30, + 0xc5, 0x96, 0x31, 0x4e, 0xd6, 0x3c, 0x57, 0x06, 0x90, 0xc2, 0x6f, 0xc3, 0x18, 0x74, 0x62, 0x19, + 0x15, 0xc1, 0x87, 0xd1, 0xcd, 0xbd, 0x08, 0x62, 0xae, 0x01, 0x65, 0x14, 0x69, 0x8f, 0xa0, 0x9c, + 0x03, 0xc0, 0x08, 0x14, 0xe1, 0xb7, 0xe7, 0x70, 0x51, 0xeb, 0x3b, 0x30, 0x87, 0x13, 0x6e, 0xb0, + 0x3d, 0x34, 0x25, 0xad, 0xa0, 0xd7, 0x89, 0x92, 0xac, 0xfe, 0x53, 0xe2, 0x3b, 0x31, 0x55, 0xec, + 0xbd, 0xad, 0x98, 0x87, 0x3a, 0xc5, 0x5b, 0xec, 0x21, 0x72, 0xc5, 0x85, 0xa3, 0x18, 0xd4, 0xf1, + 0xbe, 0x0c, 0x84, 0x37, 0xea, 0x86, 0x47, 0x32, 0x4b, 0x49, 0x64, 0x79, 0x17, 0x5a, 0x82, 0x61, + 0xb1, 0xf4, 0x14, 0x7e, 0x14, 0x63, 0xb2, 0x2b, 0xf5, 0x01, 0xb6, 0xc3, 0x6d, 0xd3, 0x60, 0xe9, + 0x63, 0xa8, 0x65, 0x57, 0xba, 0x10, 0x05, 0xc2, 0xe3, 0x6b, 0x27, 0x5c, 0x04, 0xbc, 0x17, 0x00, + 0x5d, 0xc5, 0xa0, 0x1c, 0x40, 0x1f, 0x4b, 0x36, 0x7b, 0xdf, 0x6b, 0x6c, 0x86, 0x54, 0x37, 0x65, + 0xec, 0x41, 0x07, 0xc2, 0x11, 0x7d, 0x1c, 0x8f, 0x2e, 0xd7, 0xb0, 0x2d, 0x06, 0x42, 0xd3, 0x27, + 0xac, 0x78, 0x1f, 0xba, 0x9d, 0x5d, 0xa9, 0x77, 0xb8, 0xf6, 0x8e, 0xe9, 0x75, 0xcc, 0x41, 0xdc, + 0x0b, 0xda, 0x52, 0xc6, 0xfe, 0xee, 0x1a, 0xf5, 0x19, 0x23, 0x33, 0x9d, 0x8e, 0x0b, 0x1f, 0x1f, + 0x82, 0xd2, 0x2e, 0xf7, 0x80, 0xfe, 0xb5, 0xd2, 0xf2, 0x08, 0x31, 0x79, 0x89, 0xdb, 0x0d, 0xa0, + 0x98, 0xfc, 0xb4, 0x2b, 0x43, 0xa0, 0xe7, 0x58, 0x9d, 0x4c, 0xdf, 0x0c, 0x85, 0x52, 0x43, 0xf0, + 0xa9, 0x83, 0x35, 0xd9, 0x0d, 0xf7, 0x63, 0xd9, 0xc7, 0x41, 0x4a, 0x27, 0x90, 0xba, 0x29, 0x42, + 0xa1, 0x8e, 0x4d, 0x37, 0x22, 0x64, 0x2a, 0x29, 0xce, 0x32, 0xab, 0x92, 0x49, 0x17, 0x74, 0x3c, + 0xa2, 0x93, 0xad, 0xe7, 0x1c, 0x52, 0x4f, 0x3c, 0xb2, 0x7a, 0x16, 0x08, 0x2d, 0x9e, 0x73, 0x4d, + 0x59, 0x79, 0x38, 0xd8, 0x24, 0xb7, 0x62, 0x79, 0x57, 0x84, 0x7d, 0x3a, 0x81, 0x82, 0x0f, 0x80, + 0x07, 0x46, 0x49, 0x8d, 0x54, 0x36, 0x83, 0xa1, 0xd1, 0x58, 0x36, 0xfa, 0xf1, 0x80, 0x6c, 0x93, + 0x48, 0xc2, 0x74, 0x8a, 0xc0, 0xa7, 0x53, 0x18, 0x22, 0x5b, 0x44, 0x48, 0xab, 0xb4, 0xde, 0x4f, + 0x66, 0xcf, 0xec, 0x23, 0x6c, 0x9a, 0x94, 0x13, 0xd5, 0x94, 0xd4, 0xd7, 0x45, 0xc8, 0xe3, 0x91, + 0xed, 0x54, 0xd4, 0xc7, 0xe8, 0x6d, 0x06, 0x92, 0xeb, 0x04, 0x80, 0xd6, 0xcb, 0x75, 0xb3, 0x10, + 0x98, 0x8b, 0x33, 0xa4, 0x7a, 0x33, 0xf4, 0xe1, 0x48, 0x84, 0xe0, 0xd3, 0x73, 0xa6, 0x83, 0xd8, + 0xda, 0xcb, 0x4b, 0x19, 0xc3, 0xdd, 0x40, 0x63, 0x0a, 0x18, 0x60, 0x1b, 0xb8, 0xc1, 0x55, 0x01, + 0x3a, 0xc2, 0x2c, 0xe8, 0x98, 0x75, 0xb3, 0x57, 0xbc, 0xde, 0x37, 0x59, 0x70, 0x2c, 0xef, 0xe6, + 0x98, 0xa2, 0xc7, 0xa8, 0x69, 0x0b, 0xf4, 0xc1, 0x48, 0x69, 0x18, 0xb4, 0x65, 0x78, 0x24, 0xfa, + 0x8a, 0x0a, 0xd4, 0xb4, 0x2d, 0xb9, 0x5f, 0xb8, 0x7e, 0x1b, 0xf3, 0xd0, 0x85, 0x00, 0xb8, 0x2a, + 0x4a, 0xbd, 0x63, 0x7a, 0xa8, 0x31, 0x75, 0x2d, 0x10, 0x5c, 0xd1, 0x00, 0x5d, 0x41, 0x2b, 0xed, + 0x71, 0x80, 0xef, 0xbb, 0x16, 0x68, 0x88, 0xed, 0x39, 0x64, 0x0b, 0x64, 0xd6, 0xf2, 0xef, 0xf3, + 0x58, 0x0b, 0x23, 0xe4, 0x45, 0xc7, 0x64, 0x52, 0x2c, 0xa3, 0x1c, 0x7b, 0x09, 0x47, 0x56, 0xfd, + 0x06, 0x57, 0x39, 0xf4, 0x73, 0x87, 0x2d, 0x92, 0xb9, 0xd4, 0xb5, 0x1c, 0xff, 0x85, 0xc3, 0xe6, + 0x49, 0x03, 0x5d, 0xcb, 0x30, 0x45, 0x7f, 0x69, 0x40, 0x74, 0xa2, 0x00, 0xfe, 0xca, 0x48, 0x48, + 0xbc, 0x28, 0xe0, 0xbf, 0x36, 0xca, 0x50, 0x42, 0x92, 0x44, 0x8a, 0xbe, 0xe2, 0xa0, 0xa5, 0xa9, + 0xb2, 0x04, 0xa6, 0xaf, 0x1a, 0x46, 0x94, 0x9a, 0x31, 0xbe, 0x66, 0x18, 0x13, 0x99, 0x19, 0xfa, + 0xba, 0x41, 0x6f, 0xf0, 0xd0, 0x97, 0x47, 0x47, 0x19, 0xfa, 0x86, 0xc3, 0x9a, 0x64, 0x1e, 0xaf, + 0xaf, 0xf3, 0x80, 0x87, 0x5e, 0xce, 0xff, 0xa6, 0xc3, 0xce, 0x13, 0x7a, 0x46, 0x9d, 0xa2, 0xcf, + 0x4e, 0x30, 0x9a, 0xc6, 0xd7, 0xd4, 0x11, 0xfd, 0xca, 0x84, 0x89, 0x55, 0xc2, 0x68, 0xb1, 0xaf, + 0x4e, 0xb0, 0x86, 0x0d, 0xba, 0x3d, 0xbf, 0x30, 0xc1, 0x6a, 0x64, 0xaa, 0x1b, 0x2a, 0x88, 0x35, + 0xfd, 0x1c, 0xe6, 0xf7, 0x94, 0xed, 0xc7, 0xf4, 0xf3, 0x58, 0x51, 0x93, 0x26, 0xbf, 0xe9, 0x17, + 0x70, 0xd6, 0x33, 0x17, 0x14, 0x84, 0x7e, 0xa1, 0x76, 0x14, 0xfd, 0xa2, 0xb9, 0x61, 0x87, 0x29, + 0xfd, 0x7b, 0xc9, 0x84, 0xa6, 0x38, 0x59, 0xff, 0x51, 0x42, 0x13, 0xb6, 0x40, 0xe7, 0x95, 0x4d, + 0xff, 0x59, 0x62, 0x17, 0xc9, 0xf9, 0x14, 0x33, 0x73, 0x2e, 0xab, 0xe9, 0x7f, 0x95, 0xd8, 0x65, + 0x72, 0x01, 0x9b, 0x7e, 0x96, 0x37, 0x78, 0x49, 0x28, 0x2d, 0x3c, 0x45, 0x5f, 0x2e, 0xb1, 0x4b, + 0x64, 0x71, 0x0b, 0x74, 0xf6, 0x1e, 0x05, 0xe2, 0xbf, 0x4b, 0x6c, 0x86, 0x4c, 0x63, 0xd5, 0x0b, + 0x38, 0x01, 0xfa, 0x4a, 0x09, 0x1f, 0x35, 0x3d, 0x26, 0xe6, 0xbc, 0x5a, 0xc2, 0x50, 0x7f, 0x08, + 0x7b, 0x54, 0x67, 0xd0, 0x3e, 0xe6, 0x61, 0x08, 0x81, 0xa2, 0xaf, 0x95, 0x30, 0xa0, 0x2e, 0x0c, + 0xe4, 0x09, 0x14, 0xe0, 0xd7, 0x8d, 0xd3, 0x86, 0xf9, 0x83, 0x43, 0x88, 0x47, 0x19, 0xe1, 0x8d, + 0x12, 0x3e, 0x8d, 0xe5, 0x1f, 0xa7, 0xbc, 0x59, 0x62, 0x57, 0x48, 0xd3, 0x36, 0x8b, 0xf4, 0x61, + 0x90, 0xd8, 0x07, 0x6c, 0xd6, 0xf4, 0xd9, 0x72, 0x26, 0xb1, 0x03, 0x81, 0xe6, 0xd9, 0xbd, 0x4f, + 0x96, 0xd1, 0x2e, 0x2c, 0xae, 0xbc, 0x47, 0x2b, 0xfa, 0x5c, 0x19, 0x5f, 0x74, 0x0b, 0x74, 0xd2, + 0xa6, 0x15, 0xfd, 0x14, 0xae, 0x56, 0x8d, 0x9b, 0xa1, 0x1a, 0xf6, 0x32, 0x43, 0xe9, 0xa7, 0xd3, + 0xcb, 0x1d, 0xa1, 0x74, 0x2c, 0x7a, 0x43, 0x93, 0xe9, 0x9f, 0x29, 0xa3, 0x53, 0x07, 0xa3, 0xd0, + 0x1b, 0x83, 0x9f, 0x37, 0x32, 0x13, 0xdb, 0x8c, 0x51, 0xbf, 0x29, 0xb3, 0x59, 0x42, 0x6c, 0x55, + 0x1b, 0xe0, 0xb7, 0xa9, 0x3c, 0xdc, 0xa5, 0x4e, 0x20, 0x36, 0x83, 0x86, 0xfe, 0x2e, 0x33, 0xb1, + 0xd0, 0x3b, 0xe9, 0xef, 0xcb, 0x18, 0xf4, 0x43, 0x31, 0x80, 0x43, 0xe1, 0xdd, 0xa1, 0x5f, 0xab, + 0xa2, 0x7d, 0x26, 0x26, 0x38, 0x11, 0x6c, 0x8e, 0x7c, 0xbd, 0x8a, 0x29, 0x87, 0x99, 0x6c, 0x53, + 0xee, 0x1b, 0xe6, 0x9c, 0x8c, 0x82, 0x6e, 0x87, 0x7e, 0x13, 0x77, 0x3a, 0x92, 0x9c, 0x0f, 0x0f, + 0xf6, 0xe8, 0xb7, 0xaa, 0xa8, 0x6a, 0x2d, 0x08, 0xa4, 0xc7, 0x75, 0x56, 0x4f, 0xdf, 0xae, 0x62, + 0x41, 0x16, 0xb4, 0x27, 0xef, 0xfe, 0x9d, 0xaa, 0x71, 0xd4, 0xe2, 0x26, 0x5d, 0x3b, 0xd8, 0x56, + 0xbf, 0x6b, 0xa4, 0xe2, 0x0c, 0x42, 0x4b, 0x0e, 0x35, 0xfd, 0x9e, 0xe1, 0x3b, 0xbb, 0xa6, 0xd0, + 0x3f, 0xd4, 0x92, 0x0c, 0x2d, 0x60, 0x7f, 0xac, 0xd9, 0x0a, 0x1b, 0xdf, 0x4b, 0xe8, 0x9f, 0x0c, + 0x7c, 0x76, 0x97, 0xa1, 0x7f, 0xae, 0xa1, 0x61, 0xc5, 0x75, 0x04, 0x97, 0x72, 0x45, 0xff, 0x52, + 0x43, 0x0b, 0xf2, 0xc5, 0x83, 0x7e, 0xbf, 0x8e, 0xc1, 0x4a, 0x57, 0x0e, 0xfa, 0x83, 0x3a, 0xba, + 0x79, 0x66, 0xd9, 0xa0, 0x3f, 0xac, 0x9b, 0xe7, 0xc8, 0xd6, 0x0c, 0xfa, 0xa3, 0x02, 0x80, 0x5c, + 0xf4, 0xc7, 0x75, 0xd3, 0xc3, 0xc6, 0x56, 0x0b, 0xfa, 0x93, 0x3a, 0xda, 0x76, 0x76, 0xa9, 0xa0, + 0x3f, 0xad, 0xdb, 0xe7, 0xce, 0xd6, 0x09, 0xfa, 0xb3, 0x3a, 0xd6, 0xd0, 0xfd, 0x17, 0x09, 0xfa, + 0xa2, 0xd1, 0x95, 0xaf, 0x10, 0xf4, 0xa5, 0x7a, 0x6b, 0x99, 0x54, 0x3a, 0x2a, 0x30, 0x93, 0xa7, + 0x42, 0x4a, 0x1d, 0x15, 0xd0, 0x73, 0xd8, 0xa8, 0xd7, 0xa5, 0x0c, 0x36, 0x4e, 0xa3, 0xf8, 0x99, + 0x27, 0xa8, 0xd3, 0x5a, 0x27, 0xb3, 0x6d, 0x39, 0x88, 0x78, 0x56, 0xb0, 0x66, 0xd8, 0xd8, 0x29, + 0x05, 0xbe, 0x4d, 0x95, 0x73, 0xd8, 0xed, 0x37, 0x4e, 0xc1, 0x1b, 0x9a, 0x99, 0xe8, 0xe0, 0x11, + 0x2f, 0x61, 0x90, 0x7d, 0x3a, 0xd1, 0xfa, 0x30, 0xa1, 0x6d, 0x19, 0x2a, 0xa1, 0x34, 0x84, 0xde, + 0x68, 0x1b, 0x4e, 0x20, 0x30, 0x93, 0x57, 0xc7, 0x32, 0xec, 0xd3, 0x73, 0xe6, 0xbb, 0x05, 0xcc, + 0xf7, 0x87, 0x9d, 0xcf, 0xeb, 0xb8, 0x9b, 0x98, 0x8f, 0x93, 0x06, 0x21, 0x1b, 0x27, 0x10, 0xea, + 0x21, 0x0f, 0x82, 0x11, 0x2d, 0xe1, 0xb9, 0x3d, 0x54, 0x5a, 0x0e, 0xc4, 0x27, 0x70, 0x4c, 0xb7, + 0x3e, 0xeb, 0x90, 0x9a, 0x1d, 0xc6, 0x99, 0x69, 0xf6, 0xb8, 0x0f, 0xa1, 0x2f, 0x8c, 0x70, 0xdc, + 0xad, 0x0d, 0x94, 0x6c, 0x10, 0x4e, 0xce, 0x74, 0xa0, 0x79, 0x6c, 0x2c, 0x34, 0x9f, 0x14, 0xc9, + 0xbd, 0xd8, 0xd8, 0xe9, 0xd3, 0xc9, 0x1c, 0xcc, 0x7d, 0x99, 0xc2, 0x25, 0xb2, 0x28, 0x6e, 0x2d, + 0xf4, 0xdb, 0x01, 0x70, 0x9c, 0xd7, 0x95, 0xd6, 0x75, 0x42, 0xf2, 0x4f, 0x4a, 0x63, 0x6b, 0x3e, + 0x22, 0xcf, 0xa1, 0xc7, 0x5b, 0x81, 0xec, 0xf1, 0x80, 0x3a, 0xb8, 0x21, 0x98, 0x07, 0x9f, 0x68, + 0x3d, 0x3f, 0x49, 0x66, 0xcf, 0x7c, 0x40, 0xa2, 0xc9, 0xd9, 0x61, 0x2d, 0xc0, 0x57, 0xb9, 0x42, + 0x1e, 0xc8, 0x90, 0x7b, 0x56, 0x02, 0x07, 0x97, 0xce, 0x8c, 0x7c, 0x66, 0x37, 0x98, 0x60, 0x57, + 0xc9, 0xa5, 0x9c, 0x78, 0xef, 0x46, 0x80, 0x6d, 0xb9, 0x99, 0x31, 0x9c, 0x5d, 0x0d, 0xca, 0x18, + 0xad, 0x8c, 0x8a, 0x95, 0x6e, 0x3f, 0xf7, 0xf2, 0xaf, 0x5d, 0x3b, 0xf2, 0xe8, 0x14, 0x7e, 0x81, + 0xe5, 0x36, 0x66, 0x29, 0x43, 0x2b, 0x18, 0xc7, 0x8c, 0x90, 0x8c, 0xa3, 0xe9, 0x31, 0x30, 0x19, + 0x4b, 0x55, 0x0c, 0x6e, 0x06, 0x62, 0x3f, 0xca, 0x5b, 0x01, 0xc1, 0xef, 0x82, 0x33, 0x21, 0xb0, + 0x3d, 0xa7, 0x36, 0x46, 0x31, 0x58, 0x07, 0x34, 0x17, 0x01, 0xad, 0xe3, 0x0e, 0x34, 0x16, 0x17, + 0x7b, 0x63, 0x66, 0x4c, 0x79, 0x32, 0xe1, 0x1a, 0xb8, 0xed, 0xe4, 0x2b, 0xbb, 0x99, 0x8d, 0xb3, + 0x63, 0x98, 0xe9, 0x7d, 0x94, 0x8e, 0xa9, 0x2b, 0x0c, 0x71, 0x3a, 0x37, 0xee, 0xa8, 0x49, 0x12, + 0xca, 0xc6, 0xa2, 0x6b, 0xed, 0xde, 0xbb, 0x1b, 0x42, 0xac, 0x8e, 0x45, 0x44, 0xe7, 0xc7, 0x82, + 0x66, 0xdb, 0x8f, 0xc9, 0x8b, 0x85, 0xb1, 0x50, 0xa0, 0xe9, 0xf9, 0xa5, 0xf3, 0xe3, 0x0f, 0x66, + 0x1a, 0x40, 0x4e, 0x5d, 0x1c, 0xa3, 0xee, 0xf0, 0x90, 0xf7, 0x0b, 0x0a, 0x2f, 0x8c, 0x29, 0x2c, + 0x74, 0x9e, 0xe6, 0xfb, 0x24, 0x99, 0xcb, 0xfe, 0xee, 0xb8, 0x05, 0xa7, 0xfa, 0x96, 0xec, 0xdd, + 0x66, 0x57, 0x57, 0xed, 0x5f, 0x98, 0xab, 0xe9, 0x5f, 0x98, 0xab, 0x3b, 0xa0, 0x14, 0x8a, 0x8c, + 0x4c, 0x7e, 0x34, 0xff, 0x56, 0x31, 0xff, 0xe3, 0x3c, 0x74, 0xff, 0x7f, 0xce, 0x0a, 0xff, 0xcb, + 0xb8, 0xb3, 0x51, 0xe1, 0xb4, 0xd7, 0xbb, 0xbd, 0xbe, 0x4d, 0x1a, 0x42, 0xa6, 0xf7, 0xfa, 0x71, + 0xe4, 0xad, 0xd7, 0xda, 0xe6, 0xde, 0x3e, 0xca, 0xd8, 0x77, 0x3e, 0xb2, 0xd2, 0x17, 0xfa, 0x78, + 0xd8, 0x43, 0x69, 0xd7, 0x2c, 0xdb, 0x63, 0x42, 0x26, 0xbf, 0xae, 0xf1, 0x48, 0x5c, 0xb3, 0x6a, + 0xa2, 0xde, 0x97, 0x1d, 0xa7, 0x37, 0x65, 0x34, 0x3f, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x87, 0x4b, 0xf7, 0xea, 0x97, 0x15, 0x00, 0x00, } diff --git a/internal/common/error.go b/internal/common/error.go index 0c9f2096df..b916ee59e4 100644 --- a/internal/common/error.go +++ b/internal/common/error.go @@ -17,11 +17,27 @@ package common import ( + "errors" "fmt" "github.com/milvus-io/milvus/api/commonpb" ) +var ( + // ErrNodeIDNotMatch stands for the error that grpc target id and node session id not match. + ErrNodeIDNotMatch = errors.New("target node id not match") +) + +// WrapNodeIDNotMatchError wraps `ErrNodeIDNotMatch` with targetID and sessionID. +func WrapNodeIDNotMatchError(targetID, nodeID int64) error { + return fmt.Errorf("%w target id = %d, node id = %d", ErrNodeIDNotMatch, targetID, nodeID) +} + +// WrapNodeIDNotMatchMsg fmt error msg with `ErrNodeIDNotMatch`, targetID and sessionID. +func WrapNodeIDNotMatchMsg(targetID, nodeID int64) string { + return fmt.Sprintf("%s target id = %d, node id = %d", ErrNodeIDNotMatch.Error(), targetID, nodeID) +} + type IgnorableError struct { msg string } diff --git a/internal/core/src/pb/common.pb.cc b/internal/core/src/pb/common.pb.cc index cf9d82f367..a6851c11e3 100644 --- a/internal/core/src/pb/common.pb.cc +++ b/internal/core/src/pb/common.pb.cc @@ -287,6 +287,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_common_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::proto::common::MsgBase, msgid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::common::MsgBase, timestamp_), PROTOBUF_FIELD_OFFSET(::milvus::proto::common::MsgBase, sourceid_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::common::MsgBase, targetid_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::common::MsgHeader, _internal_metadata_), ~0u, // no _extensions_ @@ -319,9 +320,9 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 35, -1, sizeof(::milvus::proto::common::PlaceholderGroup)}, { 41, -1, sizeof(::milvus::proto::common::Address)}, { 48, -1, sizeof(::milvus::proto::common::MsgBase)}, - { 57, -1, sizeof(::milvus::proto::common::MsgHeader)}, - { 63, -1, sizeof(::milvus::proto::common::DMLMsgHeader)}, - { 70, -1, sizeof(::milvus::proto::common::PrivilegeExt)}, + { 58, -1, sizeof(::milvus::proto::common::MsgHeader)}, + { 64, -1, sizeof(::milvus::proto::common::DMLMsgHeader)}, + { 71, -1, sizeof(::milvus::proto::common::PrivilegeExt)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -350,127 +351,128 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE( "ommon.PlaceholderType\022\016\n\006values\030\003 \003(\014\"O\n" "\020PlaceholderGroup\022;\n\014placeholders\030\001 \003(\0132" "%.milvus.proto.common.PlaceholderValue\"#" - "\n\007Address\022\n\n\002ip\030\001 \001(\t\022\014\n\004port\030\002 \001(\003\"m\n\007M" + "\n\007Address\022\n\n\002ip\030\001 \001(\t\022\014\n\004port\030\002 \001(\003\"\177\n\007M" "sgBase\022.\n\010msg_type\030\001 \001(\0162\034.milvus.proto." "common.MsgType\022\r\n\005msgID\030\002 \001(\003\022\021\n\ttimesta" - "mp\030\003 \001(\004\022\020\n\010sourceID\030\004 \001(\003\"7\n\tMsgHeader\022" - "*\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgB" - "ase\"M\n\014DMLMsgHeader\022*\n\004base\030\001 \001(\0132\034.milv" - "us.proto.common.MsgBase\022\021\n\tshardName\030\002 \001" - "(\t\"\273\001\n\014PrivilegeExt\0224\n\013object_type\030\001 \001(\016" - "2\037.milvus.proto.common.ObjectType\022>\n\020obj" - "ect_privilege\030\002 \001(\0162$.milvus.proto.commo" - "n.ObjectPrivilege\022\031\n\021object_name_index\030\003" - " \001(\005\022\032\n\022object_name_indexs\030\004 \001(\005*\202\t\n\tErr" - "orCode\022\013\n\007Success\020\000\022\023\n\017UnexpectedError\020\001" - "\022\021\n\rConnectFailed\020\002\022\024\n\020PermissionDenied\020" - "\003\022\027\n\023CollectionNotExists\020\004\022\023\n\017IllegalArg" - "ument\020\005\022\024\n\020IllegalDimension\020\007\022\024\n\020Illegal" - "IndexType\020\010\022\031\n\025IllegalCollectionName\020\t\022\017" - "\n\013IllegalTOPK\020\n\022\024\n\020IllegalRowRecord\020\013\022\023\n" - "\017IllegalVectorID\020\014\022\027\n\023IllegalSearchResul" - "t\020\r\022\020\n\014FileNotFound\020\016\022\016\n\nMetaFailed\020\017\022\017\n" - "\013CacheFailed\020\020\022\026\n\022CannotCreateFolder\020\021\022\024" - "\n\020CannotCreateFile\020\022\022\026\n\022CannotDeleteFold" - "er\020\023\022\024\n\020CannotDeleteFile\020\024\022\023\n\017BuildIndex" - "Error\020\025\022\020\n\014IllegalNLIST\020\026\022\025\n\021IllegalMetr" - "icType\020\027\022\017\n\013OutOfMemory\020\030\022\021\n\rIndexNotExi" - "st\020\031\022\023\n\017EmptyCollection\020\032\022\033\n\027UpdateImpor" - "tTaskFailure\020\033\022\032\n\026CollectionNameNotFound" - "\020\034\022\033\n\027CreateCredentialFailure\020\035\022\033\n\027Updat" - "eCredentialFailure\020\036\022\033\n\027DeleteCredential" - "Failure\020\037\022\030\n\024GetCredentialFailure\020 \022\030\n\024L" - "istCredUsersFailure\020!\022\022\n\016GetUserFailure\020" - "\"\022\025\n\021CreateRoleFailure\020#\022\023\n\017DropRoleFail" - "ure\020$\022\032\n\026OperateUserRoleFailure\020%\022\025\n\021Sel" - "ectRoleFailure\020&\022\025\n\021SelectUserFailure\020\'\022" - "\031\n\025SelectResourceFailure\020(\022\033\n\027OperatePri" - "vilegeFailure\020)\022\026\n\022SelectGrantFailure\020*\022" - "!\n\035RefreshPolicyInfoCacheFailure\020+\022\025\n\021Li" - "stPolicyFailure\020,\022\022\n\016NotShardLeader\020-\022\026\n" - "\022NoReplicaAvailable\020.\022\023\n\017SegmentNotFound" - "\020/\022\r\n\tForceDeny\0200\022\r\n\tRateLimit\0201\022\017\n\013Data" - "CoordNA\020d\022\022\n\rDDRequestRace\020\350\007*c\n\nIndexSt" - "ate\022\022\n\016IndexStateNone\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\022" - "\t\n\005Retry\020\005*\202\001\n\014SegmentState\022\024\n\020SegmentSt" - "ateNone\020\000\022\014\n\010NotExist\020\001\022\013\n\007Growing\020\002\022\n\n\006" - "Sealed\020\003\022\013\n\007Flushed\020\004\022\014\n\010Flushing\020\005\022\013\n\007D" - "ropped\020\006\022\r\n\tImporting\020\007*>\n\017PlaceholderTy" - "pe\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatV" - "ector\020e*\370\014\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n\020Cr" - "eateCollection\020d\022\022\n\016DropCollection\020e\022\021\n\r" - "HasCollection\020f\022\026\n\022DescribeCollection\020g\022" - "\023\n\017ShowCollections\020h\022\024\n\020GetSystemConfigs" - "\020i\022\022\n\016LoadCollection\020j\022\025\n\021ReleaseCollect" - "ion\020k\022\017\n\013CreateAlias\020l\022\r\n\tDropAlias\020m\022\016\n" - "\nAlterAlias\020n\022\024\n\017CreatePartition\020\310\001\022\022\n\rD" - "ropPartition\020\311\001\022\021\n\014HasPartition\020\312\001\022\026\n\021De" - "scribePartition\020\313\001\022\023\n\016ShowPartitions\020\314\001\022" - "\023\n\016LoadPartitions\020\315\001\022\026\n\021ReleasePartition" - "s\020\316\001\022\021\n\014ShowSegments\020\372\001\022\024\n\017DescribeSegme" - "nt\020\373\001\022\021\n\014LoadSegments\020\374\001\022\024\n\017ReleaseSegme" - "nts\020\375\001\022\024\n\017HandoffSegments\020\376\001\022\030\n\023LoadBala" - "nceSegments\020\377\001\022\025\n\020DescribeSegments\020\200\002\022\020\n" - "\013CreateIndex\020\254\002\022\022\n\rDescribeIndex\020\255\002\022\016\n\tD" - "ropIndex\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\027\n\022ResendSegmentStats\020\223\003\022\013\n\006Se" - "arch\020\364\003\022\021\n\014SearchResult\020\365\003\022\022\n\rGetIndexSt" - "ate\020\366\003\022\032\n\025GetIndexBuildProgress\020\367\003\022\034\n\027Ge" - "tCollectionStatistics\020\370\003\022\033\n\026GetPartition" - "Statistics\020\371\003\022\r\n\010Retrieve\020\372\003\022\023\n\016Retrieve" - "Result\020\373\003\022\024\n\017WatchDmChannels\020\374\003\022\025\n\020Remov" - "eDmChannels\020\375\003\022\027\n\022WatchQueryChannels\020\376\003\022" - "\030\n\023RemoveQueryChannels\020\377\003\022\035\n\030SealedSegme" - "ntsChangeInfo\020\200\004\022\027\n\022WatchDeltaChannels\020\201" - "\004\022\024\n\017GetShardLeaders\020\202\004\022\020\n\013GetReplicas\020\203" - "\004\022\023\n\016UnsubDmChannel\020\204\004\022\024\n\017GetDistributio" - "n\020\205\004\022\025\n\020SyncDistribution\020\206\004\022\020\n\013SegmentIn" - "fo\020\330\004\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecoveryInf" - "o\020\332\004\022\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeTick\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\017Alloc" - "ateSegment\020\265\t\022\026\n\021SegmentStatistics\020\266\t\022\025\n" - "\020SegmentFlushDone\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\025\n" - "\020CreateCredential\020\334\013\022\022\n\rGetCredential\020\335\013" - "\022\025\n\020DeleteCredential\020\336\013\022\025\n\020UpdateCredent" - "ial\020\337\013\022\026\n\021ListCredUsernames\020\340\013\022\017\n\nCreate" - "Role\020\300\014\022\r\n\010DropRole\020\301\014\022\024\n\017OperateUserRol" - "e\020\302\014\022\017\n\nSelectRole\020\303\014\022\017\n\nSelectUser\020\304\014\022\023" - "\n\016SelectResource\020\305\014\022\025\n\020OperatePrivilege\020" - "\306\014\022\020\n\013SelectGrant\020\307\014\022\033\n\026RefreshPolicyInf" - "oCache\020\310\014\022\017\n\nListPolicy\020\311\014*\"\n\007DslType\022\007\n" - "\003Dsl\020\000\022\016\n\nBoolExprV1\020\001*B\n\017CompactionStat" - "e\022\021\n\rUndefiedState\020\000\022\r\n\tExecuting\020\001\022\r\n\tC" - "ompleted\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\nEventual" - "ly\020\003\022\016\n\nCustomized\020\004*\213\001\n\013ImportState\022\021\n\r" - "ImportPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImp" - "ortStarted\020\002\022\023\n\017ImportPersisted\020\005\022\023\n\017Imp" - "ortCompleted\020\006\022\032\n\026ImportFailedAndCleaned" - "\020\007*2\n\nObjectType\022\016\n\nCollection\020\000\022\n\n\006Glob" - "al\020\001\022\010\n\004User\020\002*\206\005\n\017ObjectPrivilege\022\020\n\014Pr" - "ivilegeAll\020\000\022\035\n\031PrivilegeCreateCollectio" - "n\020\001\022\033\n\027PrivilegeDropCollection\020\002\022\037\n\033Priv" - "ilegeDescribeCollection\020\003\022\034\n\030PrivilegeSh" - "owCollections\020\004\022\021\n\rPrivilegeLoad\020\005\022\024\n\020Pr" - "ivilegeRelease\020\006\022\027\n\023PrivilegeCompaction\020" - "\007\022\023\n\017PrivilegeInsert\020\010\022\023\n\017PrivilegeDelet" - "e\020\t\022\032\n\026PrivilegeGetStatistics\020\n\022\030\n\024Privi" - "legeCreateIndex\020\013\022\030\n\024PrivilegeIndexDetai" - "l\020\014\022\026\n\022PrivilegeDropIndex\020\r\022\023\n\017Privilege" - "Search\020\016\022\022\n\016PrivilegeFlush\020\017\022\022\n\016Privileg" - "eQuery\020\020\022\030\n\024PrivilegeLoadBalance\020\021\022\023\n\017Pr" - "ivilegeImport\020\022\022\034\n\030PrivilegeCreateOwners" - "hip\020\023\022\027\n\023PrivilegeUpdateUser\020\024\022\032\n\026Privil" - "egeDropOwnership\020\025\022\034\n\030PrivilegeSelectOwn" - "ership\020\026\022\034\n\030PrivilegeManageOwnership\020\027\022\027" - "\n\023PrivilegeSelectUser\020\030:^\n\021privilege_ext" - "_obj\022\037.google.protobuf.MessageOptions\030\351\007" - " \001(\0132!.milvus.proto.common.PrivilegeExtB" - "L\n\016io.milvus.grpcB\013CommonProtoP\001Z(github" - ".com/milvus-io/milvus/api/commonpb\240\001\001b\006p" - "roto3" + "mp\030\003 \001(\004\022\020\n\010sourceID\030\004 \001(\003\022\020\n\010targetID\030\005" + " \001(\003\"7\n\tMsgHeader\022*\n\004base\030\001 \001(\0132\034.milvus" + ".proto.common.MsgBase\"M\n\014DMLMsgHeader\022*\n" + "\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBas" + "e\022\021\n\tshardName\030\002 \001(\t\"\273\001\n\014PrivilegeExt\0224\n" + "\013object_type\030\001 \001(\0162\037.milvus.proto.common" + ".ObjectType\022>\n\020object_privilege\030\002 \001(\0162$." + "milvus.proto.common.ObjectPrivilege\022\031\n\021o" + "bject_name_index\030\003 \001(\005\022\032\n\022object_name_in" + "dexs\030\004 \001(\005*\226\t\n\tErrorCode\022\013\n\007Success\020\000\022\023\n" + "\017UnexpectedError\020\001\022\021\n\rConnectFailed\020\002\022\024\n" + "\020PermissionDenied\020\003\022\027\n\023CollectionNotExis" + "ts\020\004\022\023\n\017IllegalArgument\020\005\022\024\n\020IllegalDime" + "nsion\020\007\022\024\n\020IllegalIndexType\020\010\022\031\n\025Illegal" + "CollectionName\020\t\022\017\n\013IllegalTOPK\020\n\022\024\n\020Ill" + "egalRowRecord\020\013\022\023\n\017IllegalVectorID\020\014\022\027\n\023" + "IllegalSearchResult\020\r\022\020\n\014FileNotFound\020\016\022" + "\016\n\nMetaFailed\020\017\022\017\n\013CacheFailed\020\020\022\026\n\022Cann" + "otCreateFolder\020\021\022\024\n\020CannotCreateFile\020\022\022\026" + "\n\022CannotDeleteFolder\020\023\022\024\n\020CannotDeleteFi" + "le\020\024\022\023\n\017BuildIndexError\020\025\022\020\n\014IllegalNLIS" + "T\020\026\022\025\n\021IllegalMetricType\020\027\022\017\n\013OutOfMemor" + "y\020\030\022\021\n\rIndexNotExist\020\031\022\023\n\017EmptyCollectio" + "n\020\032\022\033\n\027UpdateImportTaskFailure\020\033\022\032\n\026Coll" + "ectionNameNotFound\020\034\022\033\n\027CreateCredential" + "Failure\020\035\022\033\n\027UpdateCredentialFailure\020\036\022\033" + "\n\027DeleteCredentialFailure\020\037\022\030\n\024GetCreden" + "tialFailure\020 \022\030\n\024ListCredUsersFailure\020!\022" + "\022\n\016GetUserFailure\020\"\022\025\n\021CreateRoleFailure" + "\020#\022\023\n\017DropRoleFailure\020$\022\032\n\026OperateUserRo" + "leFailure\020%\022\025\n\021SelectRoleFailure\020&\022\025\n\021Se" + "lectUserFailure\020\'\022\031\n\025SelectResourceFailu" + "re\020(\022\033\n\027OperatePrivilegeFailure\020)\022\026\n\022Sel" + "ectGrantFailure\020*\022!\n\035RefreshPolicyInfoCa" + "cheFailure\020+\022\025\n\021ListPolicyFailure\020,\022\022\n\016N" + "otShardLeader\020-\022\026\n\022NoReplicaAvailable\020.\022" + "\023\n\017SegmentNotFound\020/\022\r\n\tForceDeny\0200\022\r\n\tR" + "ateLimit\0201\022\022\n\016NodeIDNotMatch\0202\022\017\n\013DataCo" + "ordNA\020d\022\022\n\rDDRequestRace\020\350\007*c\n\nIndexStat" + "e\022\022\n\016IndexStateNone\020\000\022\014\n\010Unissued\020\001\022\016\n\nI" + "nProgress\020\002\022\014\n\010Finished\020\003\022\n\n\006Failed\020\004\022\t\n" + "\005Retry\020\005*\202\001\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\022\r\n\tImporting\020\007*>\n\017PlaceholderType" + "\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatVec" + "tor\020e*\370\014\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n\020Crea" + "teCollection\020d\022\022\n\016DropCollection\020e\022\021\n\rHa" + "sCollection\020f\022\026\n\022DescribeCollection\020g\022\023\n" + "\017ShowCollections\020h\022\024\n\020GetSystemConfigs\020i" + "\022\022\n\016LoadCollection\020j\022\025\n\021ReleaseCollectio" + "n\020k\022\017\n\013CreateAlias\020l\022\r\n\tDropAlias\020m\022\016\n\nA" + "lterAlias\020n\022\024\n\017CreatePartition\020\310\001\022\022\n\rDro" + "pPartition\020\311\001\022\021\n\014HasPartition\020\312\001\022\026\n\021Desc" + "ribePartition\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\017DescribeSegment" + "\020\373\001\022\021\n\014LoadSegments\020\374\001\022\024\n\017ReleaseSegment" + "s\020\375\001\022\024\n\017HandoffSegments\020\376\001\022\030\n\023LoadBalanc" + "eSegments\020\377\001\022\025\n\020DescribeSegments\020\200\002\022\020\n\013C" + "reateIndex\020\254\002\022\022\n\rDescribeIndex\020\255\002\022\016\n\tDro" + "pIndex\020\256\002\022\013\n\006Insert\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005F" + "lush\020\222\003\022\027\n\022ResendSegmentStats\020\223\003\022\013\n\006Sear" + "ch\020\364\003\022\021\n\014SearchResult\020\365\003\022\022\n\rGetIndexStat" + "e\020\366\003\022\032\n\025GetIndexBuildProgress\020\367\003\022\034\n\027GetC" + "ollectionStatistics\020\370\003\022\033\n\026GetPartitionSt" + "atistics\020\371\003\022\r\n\010Retrieve\020\372\003\022\023\n\016RetrieveRe" + "sult\020\373\003\022\024\n\017WatchDmChannels\020\374\003\022\025\n\020RemoveD" + "mChannels\020\375\003\022\027\n\022WatchQueryChannels\020\376\003\022\030\n" + "\023RemoveQueryChannels\020\377\003\022\035\n\030SealedSegment" + "sChangeInfo\020\200\004\022\027\n\022WatchDeltaChannels\020\201\004\022" + "\024\n\017GetShardLeaders\020\202\004\022\020\n\013GetReplicas\020\203\004\022" + "\023\n\016UnsubDmChannel\020\204\004\022\024\n\017GetDistribution\020" + "\205\004\022\025\n\020SyncDistribution\020\206\004\022\020\n\013SegmentInfo" + "\020\330\004\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecoveryInfo\020" + "\332\004\022\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeTick\020\260\t\022" + "\023\n\016QueryNodeStats\020\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\t" + "RequestID\020\263\t\022\017\n\nRequestTSO\020\264\t\022\024\n\017Allocat" + "eSegment\020\265\t\022\026\n\021SegmentStatistics\020\266\t\022\025\n\020S" + "egmentFlushDone\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\025\n\020C" + "reateCredential\020\334\013\022\022\n\rGetCredential\020\335\013\022\025" + "\n\020DeleteCredential\020\336\013\022\025\n\020UpdateCredentia" + "l\020\337\013\022\026\n\021ListCredUsernames\020\340\013\022\017\n\nCreateRo" + "le\020\300\014\022\r\n\010DropRole\020\301\014\022\024\n\017OperateUserRole\020" + "\302\014\022\017\n\nSelectRole\020\303\014\022\017\n\nSelectUser\020\304\014\022\023\n\016" + "SelectResource\020\305\014\022\025\n\020OperatePrivilege\020\306\014" + "\022\020\n\013SelectGrant\020\307\014\022\033\n\026RefreshPolicyInfoC" + "ache\020\310\014\022\017\n\nListPolicy\020\311\014*\"\n\007DslType\022\007\n\003D" + "sl\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\tCom" + "pleted\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\nEventually" + "\020\003\022\016\n\nCustomized\020\004*\213\001\n\013ImportState\022\021\n\rIm" + "portPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImpor" + "tStarted\020\002\022\023\n\017ImportPersisted\020\005\022\023\n\017Impor" + "tCompleted\020\006\022\032\n\026ImportFailedAndCleaned\020\007" + "*2\n\nObjectType\022\016\n\nCollection\020\000\022\n\n\006Global" + "\020\001\022\010\n\004User\020\002*\206\005\n\017ObjectPrivilege\022\020\n\014Priv" + "ilegeAll\020\000\022\035\n\031PrivilegeCreateCollection\020" + "\001\022\033\n\027PrivilegeDropCollection\020\002\022\037\n\033Privil" + "egeDescribeCollection\020\003\022\034\n\030PrivilegeShow" + "Collections\020\004\022\021\n\rPrivilegeLoad\020\005\022\024\n\020Priv" + "ilegeRelease\020\006\022\027\n\023PrivilegeCompaction\020\007\022" + "\023\n\017PrivilegeInsert\020\010\022\023\n\017PrivilegeDelete\020" + "\t\022\032\n\026PrivilegeGetStatistics\020\n\022\030\n\024Privile" + "geCreateIndex\020\013\022\030\n\024PrivilegeIndexDetail\020" + "\014\022\026\n\022PrivilegeDropIndex\020\r\022\023\n\017PrivilegeSe" + "arch\020\016\022\022\n\016PrivilegeFlush\020\017\022\022\n\016PrivilegeQ" + "uery\020\020\022\030\n\024PrivilegeLoadBalance\020\021\022\023\n\017Priv" + "ilegeImport\020\022\022\034\n\030PrivilegeCreateOwnershi" + "p\020\023\022\027\n\023PrivilegeUpdateUser\020\024\022\032\n\026Privileg" + "eDropOwnership\020\025\022\034\n\030PrivilegeSelectOwner" + "ship\020\026\022\034\n\030PrivilegeManageOwnership\020\027\022\027\n\023" + "PrivilegeSelectUser\020\030:^\n\021privilege_ext_o" + "bj\022\037.google.protobuf.MessageOptions\030\351\007 \001" + "(\0132!.milvus.proto.common.PrivilegeExtBL\n" + "\016io.milvus.grpcB\013CommonProtoP\001Z(github.c" + "om/milvus-io/milvus/api/commonpb\240\001\001b\006pro" + "to3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_common_2eproto_deps[1] = { &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, @@ -491,7 +493,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", 5245, + &descriptor_table_common_2eproto_initialized, descriptor_table_protodef_common_2eproto, "common.proto", 5283, &descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_sccs, descriptor_table_common_2eproto_deps, 11, 1, schemas, file_default_instances, TableStruct_common_2eproto::offsets, file_level_metadata_common_2eproto, 11, file_level_enum_descriptors_common_2eproto, file_level_service_descriptors_common_2eproto, @@ -557,6 +559,7 @@ bool ErrorCode_IsValid(int value) { case 47: case 48: case 49: + case 50: case 100: case 1000: return true; @@ -3084,6 +3087,13 @@ const char* MsgBase::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in CHK_(ptr); } else goto handle_unusual; continue; + // int64 targetID = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + targetid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -3167,6 +3177,19 @@ bool MsgBase::MergePartialFromCodedStream( break; } + // int64 targetID = 5; + case 5: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &targetid_))); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3215,6 +3238,11 @@ void MsgBase::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->sourceid(), output); } + // int64 targetID = 5; + if (this->targetid() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->targetid(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -3249,6 +3277,11 @@ void MsgBase::SerializeWithCachedSizes( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->sourceid(), target); } + // int64 targetID = 5; + if (this->targetid() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->targetid(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -3291,6 +3324,13 @@ size_t MsgBase::ByteSizeLong() const { this->sourceid()); } + // int64 targetID = 5; + if (this->targetid() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->targetid()); + } + // .milvus.proto.common.MsgType msg_type = 1; if (this->msg_type() != 0) { total_size += 1 + @@ -3333,6 +3373,9 @@ void MsgBase::MergeFrom(const MsgBase& from) { if (from.sourceid() != 0) { set_sourceid(from.sourceid()); } + if (from.targetid() != 0) { + set_targetid(from.targetid()); + } if (from.msg_type() != 0) { set_msg_type(from.msg_type()); } @@ -3362,6 +3405,7 @@ void MsgBase::InternalSwap(MsgBase* other) { swap(msgid_, other->msgid_); swap(timestamp_, other->timestamp_); swap(sourceid_, other->sourceid_); + swap(targetid_, other->targetid_); swap(msg_type_, other->msg_type_); } diff --git a/internal/core/src/pb/common.pb.h b/internal/core/src/pb/common.pb.h index 96cf066405..6ffe17b47e 100644 --- a/internal/core/src/pb/common.pb.h +++ b/internal/core/src/pb/common.pb.h @@ -162,6 +162,7 @@ enum ErrorCode : int { SegmentNotFound = 47, ForceDeny = 48, RateLimit = 49, + NodeIDNotMatch = 50, DataCoordNA = 100, DDRequestRace = 1000, ErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), @@ -1700,6 +1701,7 @@ class MsgBase : kMsgIDFieldNumber = 2, kTimestampFieldNumber = 3, kSourceIDFieldNumber = 4, + kTargetIDFieldNumber = 5, kMsgTypeFieldNumber = 1, }; // int64 msgID = 2; @@ -1717,6 +1719,11 @@ class MsgBase : ::PROTOBUF_NAMESPACE_ID::int64 sourceid() const; void set_sourceid(::PROTOBUF_NAMESPACE_ID::int64 value); + // int64 targetID = 5; + void clear_targetid(); + ::PROTOBUF_NAMESPACE_ID::int64 targetid() const; + void set_targetid(::PROTOBUF_NAMESPACE_ID::int64 value); + // .milvus.proto.common.MsgType msg_type = 1; void clear_msg_type(); ::milvus::proto::common::MsgType msg_type() const; @@ -1730,6 +1737,7 @@ class MsgBase : ::PROTOBUF_NAMESPACE_ID::int64 msgid_; ::PROTOBUF_NAMESPACE_ID::uint64 timestamp_; ::PROTOBUF_NAMESPACE_ID::int64 sourceid_; + ::PROTOBUF_NAMESPACE_ID::int64 targetid_; int msg_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_common_2eproto; @@ -2811,6 +2819,20 @@ inline void MsgBase::set_sourceid(::PROTOBUF_NAMESPACE_ID::int64 value) { // @@protoc_insertion_point(field_set:milvus.proto.common.MsgBase.sourceID) } +// int64 targetID = 5; +inline void MsgBase::clear_targetid() { + targetid_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 MsgBase::targetid() const { + // @@protoc_insertion_point(field_get:milvus.proto.common.MsgBase.targetID) + return targetid_; +} +inline void MsgBase::set_targetid(::PROTOBUF_NAMESPACE_ID::int64 value) { + + targetid_ = value; + // @@protoc_insertion_point(field_set:milvus.proto.common.MsgBase.targetID) +} + // ------------------------------------------------------------------- // MsgHeader diff --git a/internal/proto/common.proto b/internal/proto/common.proto index e45274fce6..47672bdeba 100644 --- a/internal/proto/common.proto +++ b/internal/proto/common.proto @@ -60,6 +60,7 @@ enum ErrorCode { SegmentNotFound = 47; ForceDeny = 48; RateLimit = 49; + NodeIDNotMatch = 50; // Service availability. // NA: Not Available. @@ -240,6 +241,7 @@ message MsgBase { int64 msgID = 2; uint64 timestamp = 3; int64 sourceID = 4; + int64 targetID = 5; } enum DslType { diff --git a/internal/querycoordv2/dist/dist_handler.go b/internal/querycoordv2/dist/dist_handler.go index 2ca60d7b6e..c6acb4cb77 100644 --- a/internal/querycoordv2/dist/dist_handler.go +++ b/internal/querycoordv2/dist/dist_handler.go @@ -54,7 +54,9 @@ func (dh *distHandler) start(ctx context.Context) { case <-ticker.C: dh.mu.Lock() cctx, cancel := context.WithTimeout(ctx, distReqTimeout) - resp, err := dh.client.GetDataDistribution(cctx, dh.nodeID, &querypb.GetDataDistributionRequest{}) + resp, err := dh.client.GetDataDistribution(cctx, dh.nodeID, &querypb.GetDataDistributionRequest{ + Base: &commonpb.MsgBase{MsgType: commonpb.MsgType_GetDistribution}, + }) cancel() if err != nil || resp.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success { @@ -175,7 +177,9 @@ func (dh *distHandler) getDistribution(ctx context.Context) { dh.mu.Lock() defer dh.mu.Unlock() cctx, cancel := context.WithTimeout(ctx, distReqTimeout) - resp, err := dh.client.GetDataDistribution(cctx, dh.nodeID, &querypb.GetDataDistributionRequest{}) + resp, err := dh.client.GetDataDistribution(cctx, dh.nodeID, &querypb.GetDataDistributionRequest{ + Base: &commonpb.MsgBase{MsgType: commonpb.MsgType_GetDistribution}, + }) cancel() if err != nil || resp.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success { diff --git a/internal/querycoordv2/session/cluster.go b/internal/querycoordv2/session/cluster.go index 5be6e3a322..b180b9ccf5 100644 --- a/internal/querycoordv2/session/cluster.go +++ b/internal/querycoordv2/session/cluster.go @@ -7,6 +7,7 @@ import ( "sync" "time" + "github.com/golang/protobuf/proto" "github.com/milvus-io/milvus/api/commonpb" "github.com/milvus-io/milvus/api/milvuspb" grpcquerynodeclient "github.com/milvus-io/milvus/internal/distributed/querynode/client" @@ -92,6 +93,8 @@ func (c *QueryCluster) LoadSegments(ctx context.Context, nodeID int64, req *quer var status *commonpb.Status var err error err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.LoadSegmentsRequest) + req.Base.TargetID = nodeID status, err = cli.LoadSegments(ctx, req) }) if err1 != nil { @@ -104,6 +107,8 @@ func (c *QueryCluster) WatchDmChannels(ctx context.Context, nodeID int64, req *q var status *commonpb.Status var err error err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.WatchDmChannelsRequest) + req.Base.TargetID = nodeID status, err = cli.WatchDmChannels(ctx, req) }) if err1 != nil { @@ -116,6 +121,8 @@ func (c *QueryCluster) UnsubDmChannel(ctx context.Context, nodeID int64, req *qu var status *commonpb.Status var err error err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.UnsubDmChannelRequest) + req.Base.TargetID = nodeID status, err = cli.UnsubDmChannel(ctx, req) }) if err1 != nil { @@ -128,6 +135,8 @@ func (c *QueryCluster) ReleaseSegments(ctx context.Context, nodeID int64, req *q var status *commonpb.Status var err error err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.ReleaseSegmentsRequest) + req.Base.TargetID = nodeID status, err = cli.ReleaseSegments(ctx, req) }) if err1 != nil { @@ -140,6 +149,10 @@ func (c *QueryCluster) GetDataDistribution(ctx context.Context, nodeID int64, re var resp *querypb.GetDataDistributionResponse var err error err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.GetDataDistributionRequest) + req.Base = &commonpb.MsgBase{ + TargetID: nodeID, + } resp, err = cli.GetDataDistribution(ctx, req) }) if err1 != nil { @@ -168,6 +181,8 @@ func (c *QueryCluster) SyncDistribution(ctx context.Context, nodeID int64, req * err error ) err1 := c.send(ctx, nodeID, func(cli *grpcquerynodeclient.Client) { + req := proto.Clone(req).(*querypb.SyncDistributionRequest) + req.Base.TargetID = nodeID resp, err = cli.SyncDistribution(ctx, req) }) if err1 != nil { diff --git a/internal/querycoordv2/session/cluster_test.go b/internal/querycoordv2/session/cluster_test.go index 1a4b51a5cb..cd2b36d669 100644 --- a/internal/querycoordv2/session/cluster_test.go +++ b/internal/querycoordv2/session/cluster_test.go @@ -162,6 +162,7 @@ func (suite *ClusterTestSuite) createFailedMockServer() querypb.QueryNodeServer func (suite *ClusterTestSuite) TestLoadSegments() { ctx := context.TODO() status, err := suite.cluster.LoadSegments(ctx, 0, &querypb.LoadSegmentsRequest{ + Base: &commonpb.MsgBase{}, Infos: []*querypb.SegmentLoadInfo{{}}, }) suite.NoError(err) @@ -171,6 +172,7 @@ func (suite *ClusterTestSuite) TestLoadSegments() { }, status) status, err = suite.cluster.LoadSegments(ctx, 1, &querypb.LoadSegmentsRequest{ + Base: &commonpb.MsgBase{}, Infos: []*querypb.SegmentLoadInfo{{}}, }) suite.NoError(err) @@ -180,6 +182,7 @@ func (suite *ClusterTestSuite) TestLoadSegments() { }, status) _, err = suite.cluster.LoadSegments(ctx, 3, &querypb.LoadSegmentsRequest{ + Base: &commonpb.MsgBase{}, Infos: []*querypb.SegmentLoadInfo{{}}, }) suite.Error(err) @@ -188,14 +191,18 @@ func (suite *ClusterTestSuite) TestLoadSegments() { func (suite *ClusterTestSuite) TestWatchDmChannels() { ctx := context.TODO() - status, err := suite.cluster.WatchDmChannels(ctx, 0, &querypb.WatchDmChannelsRequest{}) + status, err := suite.cluster.WatchDmChannels(ctx, 0, &querypb.WatchDmChannelsRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, status) - status, err = suite.cluster.WatchDmChannels(ctx, 1, &querypb.WatchDmChannelsRequest{}) + status, err = suite.cluster.WatchDmChannels(ctx, 1, &querypb.WatchDmChannelsRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, @@ -205,14 +212,18 @@ func (suite *ClusterTestSuite) TestWatchDmChannels() { func (suite *ClusterTestSuite) TestUnsubDmChannel() { ctx := context.TODO() - status, err := suite.cluster.UnsubDmChannel(ctx, 0, &querypb.UnsubDmChannelRequest{}) + status, err := suite.cluster.UnsubDmChannel(ctx, 0, &querypb.UnsubDmChannelRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, status) - status, err = suite.cluster.UnsubDmChannel(ctx, 1, &querypb.UnsubDmChannelRequest{}) + status, err = suite.cluster.UnsubDmChannel(ctx, 1, &querypb.UnsubDmChannelRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, @@ -222,14 +233,18 @@ func (suite *ClusterTestSuite) TestUnsubDmChannel() { func (suite *ClusterTestSuite) TestReleaseSegments() { ctx := context.TODO() - status, err := suite.cluster.ReleaseSegments(ctx, 0, &querypb.ReleaseSegmentsRequest{}) + status, err := suite.cluster.ReleaseSegments(ctx, 0, &querypb.ReleaseSegmentsRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, status) - status, err = suite.cluster.ReleaseSegments(ctx, 1, &querypb.ReleaseSegmentsRequest{}) + status, err = suite.cluster.ReleaseSegments(ctx, 1, &querypb.ReleaseSegmentsRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, @@ -239,14 +254,19 @@ func (suite *ClusterTestSuite) TestReleaseSegments() { func (suite *ClusterTestSuite) TestGetDataDistribution() { ctx := context.TODO() - resp, err := suite.cluster.GetDataDistribution(ctx, 0, &querypb.GetDataDistributionRequest{}) + resp, err := suite.cluster.GetDataDistribution(ctx, 0, &querypb.GetDataDistributionRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, resp.GetStatus()) - resp, err = suite.cluster.GetDataDistribution(ctx, 1, &querypb.GetDataDistributionRequest{}) + resp, err = suite.cluster.GetDataDistribution(ctx, 1, &querypb.GetDataDistributionRequest{ + Base: &commonpb.MsgBase{}, + }) + suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, @@ -273,14 +293,18 @@ func (suite *ClusterTestSuite) TestGetMetrics() { func (suite *ClusterTestSuite) TestSyncDistribution() { ctx := context.TODO() - status, err := suite.cluster.SyncDistribution(ctx, 0, &querypb.SyncDistributionRequest{}) + status, err := suite.cluster.SyncDistribution(ctx, 0, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, status) - status, err = suite.cluster.SyncDistribution(ctx, 1, &querypb.SyncDistributionRequest{}) + status, err = suite.cluster.SyncDistribution(ctx, 1, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{}, + }) suite.NoError(err) suite.Equal(&commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, diff --git a/internal/querynode/impl.go b/internal/querynode/impl.go index f9fa03e4a7..ab9ff07e6f 100644 --- a/internal/querynode/impl.go +++ b/internal/querynode/impl.go @@ -279,6 +279,7 @@ func (node *QueryNode) getStatisticsWithDmlChannel(ctx context.Context, req *que // WatchDmChannels create consumers on dmChannels to receive Incremental data,which is the important part of real-time query func (node *QueryNode) WatchDmChannels(ctx context.Context, in *querypb.WatchDmChannelsRequest) (*commonpb.Status, error) { + // check node healthy code := node.stateCode.Load().(internalpb.StateCode) if code != internalpb.StateCode_Healthy { err := fmt.Errorf("query node %d is not ready", Params.QueryNodeCfg.GetNodeID()) @@ -288,6 +289,16 @@ func (node *QueryNode) WatchDmChannels(ctx context.Context, in *querypb.WatchDmC } return status, nil } + + // check target matches + if in.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(in.GetBase().GetTargetID(), node.session.ServerID), + } + return status, nil + } + task := &watchDmChannelsTask{ baseTask: baseTask{ ctx: ctx, @@ -335,6 +346,7 @@ func (node *QueryNode) WatchDmChannels(ctx context.Context, in *querypb.WatchDmC } func (node *QueryNode) UnsubDmChannel(ctx context.Context, req *querypb.UnsubDmChannelRequest) (*commonpb.Status, error) { + // check node healthy code := node.stateCode.Load().(internalpb.StateCode) if code != internalpb.StateCode_Healthy { err := fmt.Errorf("query node %d is not ready", Params.QueryNodeCfg.GetNodeID()) @@ -344,6 +356,16 @@ func (node *QueryNode) UnsubDmChannel(ctx context.Context, req *querypb.UnsubDmC } return status, nil } + + // check target matches + if req.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(req.GetBase().GetTargetID(), node.session.ServerID), + } + return status, nil + } + dct := &releaseCollectionTask{ baseTask: baseTask{ ctx: ctx, @@ -385,6 +407,7 @@ func (node *QueryNode) UnsubDmChannel(ctx context.Context, req *querypb.UnsubDmC // LoadSegments load historical data into query node, historical data can be vector data or index func (node *QueryNode) LoadSegments(ctx context.Context, in *querypb.LoadSegmentsRequest) (*commonpb.Status, error) { + // check node healthy code := node.stateCode.Load().(internalpb.StateCode) if code != internalpb.StateCode_Healthy { err := fmt.Errorf("query node %d is not ready", Params.QueryNodeCfg.GetNodeID()) @@ -394,6 +417,14 @@ func (node *QueryNode) LoadSegments(ctx context.Context, in *querypb.LoadSegment } return status, nil } + // check target matches + if in.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(in.GetBase().GetTargetID(), node.session.ServerID), + } + return status, nil + } if in.GetNeedTransfer() { return node.TransferLoad(ctx, in) @@ -537,6 +568,7 @@ func (node *QueryNode) ReleasePartitions(ctx context.Context, in *querypb.Releas // ReleaseSegments remove the specified segments from query node according segmentIDs, partitionIDs, and collectionID func (node *QueryNode) ReleaseSegments(ctx context.Context, in *querypb.ReleaseSegmentsRequest) (*commonpb.Status, error) { + // check node healthy code := node.stateCode.Load().(internalpb.StateCode) if code != internalpb.StateCode_Healthy { err := fmt.Errorf("query node %d is not ready", Params.QueryNodeCfg.GetNodeID()) @@ -546,6 +578,14 @@ func (node *QueryNode) ReleaseSegments(ctx context.Context, in *querypb.ReleaseS } return status, nil } + // check target matches + if in.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(in.GetBase().GetTargetID(), node.session.ServerID), + } + return status, nil + } if in.GetNeedTransfer() { return node.TransferRelease(ctx, in) @@ -1163,6 +1203,15 @@ func (node *QueryNode) GetDataDistribution(ctx context.Context, req *querypb.Get }, nil } + // check target matches + if req.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(req.GetBase().GetTargetID(), node.session.ServerID), + } + return &querypb.GetDataDistributionResponse{Status: status}, nil + } + growingSegments := node.metaReplica.getGrowingSegments() sealedSegments := node.metaReplica.getSealedSegments() shardClusters := node.ShardClusterService.GetShardClusters() @@ -1225,6 +1274,24 @@ func (node *QueryNode) GetDataDistribution(ctx context.Context, req *querypb.Get func (node *QueryNode) SyncDistribution(ctx context.Context, req *querypb.SyncDistributionRequest) (*commonpb.Status, error) { log := log.Ctx(ctx).With(zap.Int64("collectionID", req.GetCollectionID()), zap.String("channel", req.GetChannel())) + // check node healthy + code := node.stateCode.Load().(internalpb.StateCode) + if code != internalpb.StateCode_Healthy { + err := fmt.Errorf("query node %d is not ready", Params.QueryNodeCfg.GetNodeID()) + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_UnexpectedError, + Reason: err.Error(), + } + return status, nil + } + // check target matches + if req.GetBase().GetTargetID() != node.session.ServerID { + status := &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_NodeIDNotMatch, + Reason: common.WrapNodeIDNotMatchMsg(req.GetBase().GetTargetID(), node.session.ServerID), + } + return status, nil + } log.Debug("SyncDistribution received") shardCluster, ok := node.ShardClusterService.getShardCluster(req.GetChannel()) if !ok { diff --git a/internal/querynode/impl_test.go b/internal/querynode/impl_test.go index a69eb578a9..795c6227b3 100644 --- a/internal/querynode/impl_test.go +++ b/internal/querynode/impl_test.go @@ -91,32 +91,89 @@ func TestImpl_WatchDmChannels(t *testing.T) { node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) - schema := genTestCollectionSchema() - req := &queryPb.WatchDmChannelsRequest{ - Base: &commonpb.MsgBase{ - MsgType: commonpb.MsgType_WatchDmChannels, - MsgID: rand.Int63(), - }, - NodeID: 0, - CollectionID: defaultCollectionID, - PartitionIDs: []UniqueID{defaultPartitionID}, - Schema: schema, - Infos: []*datapb.VchannelInfo{ - { - CollectionID: 1000, - ChannelName: "1000-dmc0", + t.Run("normal_run", func(t *testing.T) { + schema := genTestCollectionSchema() + req := &queryPb.WatchDmChannelsRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_WatchDmChannels, + MsgID: rand.Int63(), + TargetID: node.session.ServerID, }, - }, - } + NodeID: 0, + CollectionID: defaultCollectionID, + PartitionIDs: []UniqueID{defaultPartitionID}, + Schema: schema, + Infos: []*datapb.VchannelInfo{ + { + CollectionID: 1000, + ChannelName: "1000-dmc0", + }, + }, + } - status, err := node.WatchDmChannels(ctx, req) - assert.NoError(t, err) - assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) + status, err := node.WatchDmChannels(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) + }) - node.UpdateStateCode(internalpb.StateCode_Abnormal) - status, err = node.WatchDmChannels(ctx, req) + t.Run("target not match", func(t *testing.T) { + req := &queryPb.WatchDmChannelsRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_WatchDmChannels, + MsgID: rand.Int63(), + TargetID: -1, + }, + } + status, err := node.WatchDmChannels(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, status.ErrorCode) + }) + + t.Run("server unhealthy", func(t *testing.T) { + req := &queryPb.WatchDmChannelsRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_WatchDmChannels, + MsgID: rand.Int63(), + }, + } + node.UpdateStateCode(internalpb.StateCode_Abnormal) + status, err := node.WatchDmChannels(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode) + }) +} + +func TestImpl_UnsubDmChannel(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) - assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode) + + t.Run("target not match", func(t *testing.T) { + req := &queryPb.UnsubDmChannelRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_UnsubDmChannel, + MsgID: rand.Int63(), + TargetID: -1, + }, + } + status, err := node.UnsubDmChannel(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, status.ErrorCode) + }) + + t.Run("server unhealthy", func(t *testing.T) { + req := &queryPb.UnsubDmChannelRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_UnsubDmChannel, + MsgID: rand.Int63(), + }, + } + node.UpdateStateCode(internalpb.StateCode_Abnormal) + status, err := node.UnsubDmChannel(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode) + }) } func TestImpl_LoadSegments(t *testing.T) { @@ -129,21 +186,39 @@ func TestImpl_LoadSegments(t *testing.T) { req := &queryPb.LoadSegmentsRequest{ Base: &commonpb.MsgBase{ - MsgType: commonpb.MsgType_WatchQueryChannels, - MsgID: rand.Int63(), + MsgType: commonpb.MsgType_WatchQueryChannels, + MsgID: rand.Int63(), + TargetID: node.session.ServerID, }, DstNodeID: 0, Schema: schema, } - status, err := node.LoadSegments(ctx, req) - assert.NoError(t, err) - assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) + t.Run("normal run", func(t *testing.T) { + status, err := node.LoadSegments(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) + }) - node.UpdateStateCode(internalpb.StateCode_Abnormal) - status, err = node.LoadSegments(ctx, req) - assert.NoError(t, err) - assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode) + t.Run("target not match", func(t *testing.T) { + req := &queryPb.LoadSegmentsRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_WatchQueryChannels, + MsgID: rand.Int63(), + TargetID: -1, + }, + } + status, err := node.LoadSegments(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, status.ErrorCode) + }) + + t.Run("server unhealthy", func(t *testing.T) { + node.UpdateStateCode(internalpb.StateCode_Abnormal) + status, err := node.LoadSegments(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode) + }) } func TestImpl_ReleaseCollection(t *testing.T) { @@ -342,7 +417,7 @@ func TestImpl_ShowConfigurations(t *testing.T) { pattern := "Cache" req := &internalpb.ShowConfigurationsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels), + Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels, node.session.ServerID), Pattern: pattern, } @@ -359,7 +434,7 @@ func TestImpl_ShowConfigurations(t *testing.T) { pattern := "Cache" req := &internalpb.ShowConfigurationsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels), + Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels, node.session.ServerID), Pattern: pattern, } @@ -429,15 +504,12 @@ func TestImpl_ReleaseSegments(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() - var wg sync.WaitGroup - wg.Add(1) t.Run("test valid", func(t *testing.T) { - defer wg.Done() node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) req := &queryPb.ReleaseSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments, node.session.ServerID), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, SegmentIDs: []UniqueID{defaultSegmentID}, @@ -456,32 +528,45 @@ func TestImpl_ReleaseSegments(t *testing.T) { assert.NoError(t, err) }) - wg.Add(1) t.Run("test invalid query node", func(t *testing.T) { - defer wg.Done() node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) req := &queryPb.ReleaseSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments, node.session.ServerID), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, SegmentIDs: []UniqueID{defaultSegmentID}, } node.UpdateStateCode(internalpb.StateCode_Abnormal) - _, err = node.ReleaseSegments(ctx, req) + resp, err := node.ReleaseSegments(ctx, req) assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.GetErrorCode()) }) - wg.Add(1) - t.Run("test segment not exists", func(t *testing.T) { - defer wg.Done() + t.Run("test target not matched", func(t *testing.T) { node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) req := &queryPb.ReleaseSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments, -1), + CollectionID: defaultCollectionID, + PartitionIDs: []UniqueID{defaultPartitionID}, + SegmentIDs: []UniqueID{defaultSegmentID}, + } + + resp, err := node.ReleaseSegments(ctx, req) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, resp.GetErrorCode()) + }) + + t.Run("test segment not exists", func(t *testing.T) { + node, err := genSimpleQueryNode(ctx) + assert.NoError(t, err) + + req := &queryPb.ReleaseSegmentsRequest{ + Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments, node.session.ServerID), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, SegmentIDs: []UniqueID{defaultSegmentID}, @@ -494,16 +579,14 @@ func TestImpl_ReleaseSegments(t *testing.T) { assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) }) - wg.Add(1) t.Run("test no collection", func(t *testing.T) { - defer wg.Done() node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) err = node.metaReplica.removeCollection(defaultCollectionID) assert.NoError(t, err) req := &queryPb.ReleaseSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleaseSegments, node.session.ServerID), CollectionID: defaultCollectionID, } @@ -511,7 +594,6 @@ func TestImpl_ReleaseSegments(t *testing.T) { assert.NoError(t, err) assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode) }) - wg.Wait() } func TestImpl_Search(t *testing.T) { @@ -781,6 +863,31 @@ func TestSyncDistribution(t *testing.T) { assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.GetErrorCode()) }) + t.Run("Target not match", func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + node, err := genSimpleQueryNode(ctx) + defer node.Stop() + assert.NoError(t, err) + + resp, err := node.SyncDistribution(ctx, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{TargetID: -1}, + CollectionID: defaultCollectionID, + Channel: defaultDMLChannel, + Actions: []*querypb.SyncAction{ + { + Type: querypb.SyncType_Set, + PartitionID: defaultPartitionID, + SegmentID: defaultSegmentID, + NodeID: 99, + }, + }, + }) + + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, resp.GetErrorCode()) + }) + t.Run("Sync non-exist channel", func(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() @@ -789,6 +896,7 @@ func TestSyncDistribution(t *testing.T) { assert.NoError(t, err) resp, err := node.SyncDistribution(ctx, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{TargetID: node.session.ServerID}, CollectionID: defaultCollectionID, Channel: defaultDMLChannel, Actions: []*querypb.SyncAction{ @@ -815,6 +923,7 @@ func TestSyncDistribution(t *testing.T) { node.ShardClusterService.addShardCluster(defaultCollectionID, defaultReplicaID, defaultDMLChannel) resp, err := node.SyncDistribution(ctx, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{TargetID: node.session.ServerID}, CollectionID: defaultCollectionID, Channel: defaultDMLChannel, Actions: []*querypb.SyncAction{ @@ -839,6 +948,7 @@ func TestSyncDistribution(t *testing.T) { assert.Equal(t, segmentStateLoaded, segment.state) assert.EqualValues(t, 1, segment.version) resp, err = node.SyncDistribution(ctx, &querypb.SyncDistributionRequest{ + Base: &commonpb.MsgBase{TargetID: node.session.ServerID}, CollectionID: defaultCollectionID, Channel: defaultDMLChannel, Actions: []*querypb.SyncAction{ @@ -860,3 +970,34 @@ func TestSyncDistribution(t *testing.T) { require.False(t, ok) }) } + +func TestGetDataDistribution(t *testing.T) { + t.Run("QueryNode not healthy", func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + node, err := genSimpleQueryNode(ctx) + defer node.Stop() + assert.NoError(t, err) + + node.UpdateStateCode(internalpb.StateCode_Abnormal) + + resp, err := node.GetDataDistribution(ctx, &querypb.GetDataDistributionRequest{}) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_UnexpectedError, resp.GetStatus().GetErrorCode()) + }) + + t.Run("Target not match", func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + node, err := genSimpleQueryNode(ctx) + defer node.Stop() + assert.NoError(t, err) + + resp, err := node.GetDataDistribution(ctx, &querypb.GetDataDistributionRequest{ + Base: &commonpb.MsgBase{TargetID: -1}, + }) + + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_NodeIDNotMatch, resp.GetStatus().GetErrorCode()) + }) +} diff --git a/internal/querynode/metrics_info_test.go b/internal/querynode/metrics_info_test.go index 36cfc0be28..7d0b57a3bf 100644 --- a/internal/querynode/metrics_info_test.go +++ b/internal/querynode/metrics_info_test.go @@ -43,7 +43,7 @@ func TestGetSystemInfoMetrics(t *testing.T) { node.session = sessionutil.NewSession(node.queryNodeLoopCtx, Params.EtcdCfg.MetaRootPath, etcdCli) req := &milvuspb.GetMetricsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels), + Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels, node.session.ServerID), } resp, err := getSystemInfoMetrics(ctx, req, node) assert.NoError(t, err) @@ -70,7 +70,7 @@ func TestGetComponentConfigurationsFailed(t *testing.T) { node.session = sessionutil.NewSession(node.queryNodeLoopCtx, Params.EtcdCfg.MetaRootPath, etcdCli) req := &internalpb.ShowConfigurationsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels), + Base: genCommonMsgBase(commonpb.MsgType_WatchQueryChannels, node.session.ServerID), Pattern: "Cache", } diff --git a/internal/querynode/mock_test.go b/internal/querynode/mock_test.go index 7586be9ad3..d713d234db 100644 --- a/internal/querynode/mock_test.go +++ b/internal/querynode/mock_test.go @@ -986,7 +986,7 @@ func genSimpleInsertMsg(schema *schemapb.CollectionSchema, numRows int) (*msgstr return &msgstream.InsertMsg{ BaseMsg: genMsgStreamBaseMsg(), InsertRequest: internalpb.InsertRequest{ - Base: genCommonMsgBase(commonpb.MsgType_Insert), + Base: genCommonMsgBase(commonpb.MsgType_Insert, 0), CollectionName: defaultCollectionName, PartitionName: defaultPartitionName, CollectionID: defaultCollectionID, @@ -1182,10 +1182,11 @@ func genMsgStreamBaseMsg() msgstream.BaseMsg { } } -func genCommonMsgBase(msgType commonpb.MsgType) *commonpb.MsgBase { +func genCommonMsgBase(msgType commonpb.MsgType, targetID int64) *commonpb.MsgBase { return &commonpb.MsgBase{ - MsgType: msgType, - MsgID: rand.Int63(), + MsgType: msgType, + MsgID: rand.Int63(), + TargetID: targetID, } } @@ -1193,7 +1194,7 @@ func genDeleteMsg(collectionID int64, pkType schemapb.DataType, numRows int) *ms return &msgstream.DeleteMsg{ BaseMsg: genMsgStreamBaseMsg(), DeleteRequest: internalpb.DeleteRequest{ - Base: genCommonMsgBase(commonpb.MsgType_Delete), + Base: genCommonMsgBase(commonpb.MsgType_Delete, 0), CollectionName: defaultCollectionName, PartitionName: defaultPartitionName, CollectionID: collectionID, @@ -1531,7 +1532,7 @@ func genSimpleRetrievePlan(collection *Collection) (*RetrievePlan, error) { func genGetCollectionStatisticRequest() (*internalpb.GetStatisticsRequest, error) { return &internalpb.GetStatisticsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_GetCollectionStatistics), + Base: genCommonMsgBase(commonpb.MsgType_GetCollectionStatistics, 0), DbID: 0, CollectionID: defaultCollectionID, }, nil @@ -1539,7 +1540,7 @@ func genGetCollectionStatisticRequest() (*internalpb.GetStatisticsRequest, error func genGetPartitionStatisticRequest() (*internalpb.GetStatisticsRequest, error) { return &internalpb.GetStatisticsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_GetPartitionStatistics), + Base: genCommonMsgBase(commonpb.MsgType_GetPartitionStatistics, 0), DbID: 0, CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, @@ -1556,7 +1557,7 @@ func genSearchRequest(nq int64, indexType string, schema *schemapb.CollectionSch return nil, err2 } return &internalpb.SearchRequest{ - Base: genCommonMsgBase(commonpb.MsgType_Search), + Base: genCommonMsgBase(commonpb.MsgType_Search, 0), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, Dsl: simpleDSL, @@ -1684,7 +1685,7 @@ func genSimpleChangeInfo() *querypb.SealedSegmentsChangeInfo { } return &querypb.SealedSegmentsChangeInfo{ - Base: genCommonMsgBase(commonpb.MsgType_LoadBalanceSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadBalanceSegments, 0), Infos: []*querypb.SegmentChangeInfo{changeInfo}, } } diff --git a/internal/querynode/shard_cluster.go b/internal/querynode/shard_cluster.go index 87fa959fce..f6a0ac6421 100644 --- a/internal/querynode/shard_cluster.go +++ b/internal/querynode/shard_cluster.go @@ -26,6 +26,7 @@ import ( "go.uber.org/atomic" "go.uber.org/zap" + "github.com/golang/protobuf/proto" "github.com/milvus-io/milvus/api/commonpb" "github.com/milvus-io/milvus/internal/common" "github.com/milvus-io/milvus/internal/log" @@ -696,6 +697,8 @@ func (sc *ShardCluster) LoadSegments(ctx context.Context, req *querypb.LoadSegme return fmt.Errorf("node not in cluster %d", req.GetDstNodeID()) } + req = proto.Clone(req).(*querypb.LoadSegmentsRequest) + req.Base.TargetID = req.GetDstNodeID() resp, err := node.client.LoadSegments(ctx, req) if err != nil { log.Warn("failed to dispatch load segment request", zap.Error(err)) @@ -800,6 +803,8 @@ func (sc *ShardCluster) ReleaseSegments(ctx context.Context, req *querypb.Releas return } + req = proto.Clone(req).(*querypb.ReleaseSegmentsRequest) + req.Base.TargetID = req.GetNodeID() resp, rerr := node.client.ReleaseSegments(ctx, req) if err != nil { log.Warn("failed to dispatch release segment request", zap.Error(err)) diff --git a/internal/querynode/shard_cluster_test.go b/internal/querynode/shard_cluster_test.go index c0bc2d50e7..34fc708a13 100644 --- a/internal/querynode/shard_cluster_test.go +++ b/internal/querynode/shard_cluster_test.go @@ -2492,6 +2492,7 @@ func (suite *ShardClusterSuite) TestReleaseSegments() { suite.SetupTest() err := suite.sc.ReleaseSegments(context.Background(), &querypb.ReleaseSegmentsRequest{ + Base: &commonpb.MsgBase{}, NodeID: test.nodeID, SegmentIDs: test.segmentIDs, Scope: test.scope, diff --git a/internal/querynode/task_test.go b/internal/querynode/task_test.go index 4714c661dd..e29e95ead6 100644 --- a/internal/querynode/task_test.go +++ b/internal/querynode/task_test.go @@ -43,7 +43,7 @@ func TestTask_watchDmChannelsTask(t *testing.T) { genWatchDMChannelsRequest := func() *querypb.WatchDmChannelsRequest { req := &querypb.WatchDmChannelsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_WatchDmChannels), + Base: genCommonMsgBase(commonpb.MsgType_WatchDmChannels, 0), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, Schema: schema, @@ -301,7 +301,7 @@ func TestTask_loadSegmentsTask(t *testing.T) { genLoadEmptySegmentsRequest := func() *querypb.LoadSegmentsRequest { req := &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, 0), CollectionID: defaultCollectionID, Schema: schema, } @@ -345,7 +345,7 @@ func TestTask_loadSegmentsTask(t *testing.T) { assert.NoError(t, err) req := &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, node.session.ServerID), Schema: schema, Infos: []*querypb.SegmentLoadInfo{ { @@ -379,7 +379,7 @@ func TestTask_loadSegmentsTask(t *testing.T) { assert.NoError(t, err) req := &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, node.session.ServerID), Schema: schema, Infos: []*querypb.SegmentLoadInfo{ { @@ -484,7 +484,7 @@ func TestTask_loadSegmentsTask(t *testing.T) { assert.NoError(t, err) req := &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, node.session.ServerID), Schema: schema, Infos: []*querypb.SegmentLoadInfo{ { @@ -584,7 +584,7 @@ func TestTask_loadSegmentsTaskLoadDelta(t *testing.T) { CollectionID: defaultCollectionID, } loadReq := &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, node.session.ServerID), Schema: schema, Infos: []*querypb.SegmentLoadInfo{segmentLoadInfo}, DeltaPositions: []*internalpb.MsgPosition{ @@ -614,7 +614,7 @@ func TestTask_loadSegmentsTaskLoadDelta(t *testing.T) { // load second segments with same channel loadReq = &querypb.LoadSegmentsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_LoadSegments, node.session.ServerID), Schema: schema, Infos: []*querypb.SegmentLoadInfo{ { @@ -662,7 +662,7 @@ func TestTask_releaseCollectionTask(t *testing.T) { genReleaseCollectionRequest := func() *querypb.ReleaseCollectionRequest { req := &querypb.ReleaseCollectionRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleaseCollection, 0), CollectionID: defaultCollectionID, } return req @@ -749,7 +749,7 @@ func TestTask_releasePartitionTask(t *testing.T) { genReleasePartitionsRequest := func() *querypb.ReleasePartitionsRequest { req := &querypb.ReleasePartitionsRequest{ - Base: genCommonMsgBase(commonpb.MsgType_LoadSegments), + Base: genCommonMsgBase(commonpb.MsgType_ReleasePartitions, 0), CollectionID: defaultCollectionID, PartitionIDs: []UniqueID{defaultPartitionID}, }