mirror of https://github.com/milvus-io/milvus.git
add search option to ignore ignore segment (#21994)
Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>pull/22347/head
parent
7a4dfcc72b
commit
cc5d72a9f2
|
@ -171,6 +171,7 @@ message SearchRequest {
|
|||
int64 nq = 14;
|
||||
int64 topk = 15;
|
||||
string metricType = 16;
|
||||
bool ignoreGrowing = 17; // Optional
|
||||
}
|
||||
|
||||
message SearchResults {
|
||||
|
@ -201,6 +202,7 @@ message RetrieveRequest {
|
|||
uint64 guarantee_timestamp = 9;
|
||||
uint64 timeout_timestamp = 10;
|
||||
int64 limit = 11; // Optional
|
||||
bool ignoreGrowing = 12;
|
||||
}
|
||||
|
||||
message RetrieveResults {
|
||||
|
|
|
@ -1321,6 +1321,7 @@ type SearchRequest struct {
|
|||
Nq int64 `protobuf:"varint,14,opt,name=nq,proto3" json:"nq,omitempty"`
|
||||
Topk int64 `protobuf:"varint,15,opt,name=topk,proto3" json:"topk,omitempty"`
|
||||
MetricType string `protobuf:"bytes,16,opt,name=metricType,proto3" json:"metricType,omitempty"`
|
||||
IgnoreGrowing bool `protobuf:"varint,17,opt,name=ignoreGrowing,proto3" json:"ignoreGrowing,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -1463,6 +1464,13 @@ func (m *SearchRequest) GetMetricType() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *SearchRequest) GetIgnoreGrowing() bool {
|
||||
if m != nil {
|
||||
return m.IgnoreGrowing
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type SearchResults struct {
|
||||
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
|
||||
Status *commonpb.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
|
||||
|
@ -1603,6 +1611,7 @@ type RetrieveRequest struct {
|
|||
GuaranteeTimestamp uint64 `protobuf:"varint,9,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"`
|
||||
TimeoutTimestamp uint64 `protobuf:"varint,10,opt,name=timeout_timestamp,json=timeoutTimestamp,proto3" json:"timeout_timestamp,omitempty"`
|
||||
Limit int64 `protobuf:"varint,11,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
IgnoreGrowing bool `protobuf:"varint,12,opt,name=ignoreGrowing,proto3" json:"ignoreGrowing,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -1710,6 +1719,13 @@ func (m *RetrieveRequest) GetLimit() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (m *RetrieveRequest) GetIgnoreGrowing() bool {
|
||||
if m != nil {
|
||||
return m.IgnoreGrowing
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type RetrieveResults struct {
|
||||
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
|
||||
Status *commonpb.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
|
||||
|
@ -2655,143 +2671,144 @@ func init() {
|
|||
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
|
||||
|
||||
var fileDescriptor_41f4a519b878ee3b = []byte{
|
||||
// 2194 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
|
||||
0x15, 0x5f, 0x8a, 0x92, 0x25, 0x3d, 0xc9, 0x0a, 0x3d, 0x71, 0xb2, 0x8c, 0x93, 0x6c, 0x1c, 0xf6,
|
||||
0xcb, 0x4d, 0xba, 0x49, 0xea, 0xdd, 0x4d, 0x0a, 0xb4, 0xe8, 0x22, 0xb6, 0xb2, 0x81, 0x11, 0x3b,
|
||||
0x75, 0xe8, 0x20, 0x40, 0x7b, 0x21, 0x46, 0xe2, 0x58, 0x9a, 0x86, 0xe4, 0x30, 0x33, 0x43, 0x3b,
|
||||
0xca, 0xa9, 0x87, 0x9e, 0xba, 0x68, 0x6f, 0xbd, 0x14, 0x68, 0xcf, 0x45, 0x81, 0x02, 0xbd, 0xed,
|
||||
0xb1, 0x40, 0x4f, 0x3d, 0xf5, 0xd4, 0xbf, 0xa6, 0xe8, 0xa1, 0x98, 0x19, 0x92, 0xfa, 0xb0, 0xe2,
|
||||
0xd8, 0x0e, 0x76, 0x37, 0x05, 0xf6, 0xc6, 0x79, 0xef, 0xcd, 0xd7, 0xef, 0xfd, 0xde, 0xe3, 0x7b,
|
||||
0x24, 0x74, 0x68, 0x22, 0x09, 0x4f, 0x70, 0x74, 0x2b, 0xe5, 0x4c, 0x32, 0x74, 0x21, 0xa6, 0xd1,
|
||||
0x41, 0x26, 0xcc, 0xe8, 0x56, 0xa1, 0x5c, 0x69, 0xf7, 0x59, 0x1c, 0xb3, 0xc4, 0x88, 0x57, 0xda,
|
||||
0xa2, 0x3f, 0x24, 0x31, 0x36, 0x23, 0xef, 0x32, 0x5c, 0x7a, 0x48, 0xe4, 0x53, 0x1a, 0x93, 0xa7,
|
||||
0xb4, 0xff, 0x7c, 0x73, 0x88, 0x93, 0x84, 0x44, 0x3e, 0x79, 0x91, 0x11, 0x21, 0xbd, 0xab, 0x70,
|
||||
0xf9, 0x21, 0x91, 0x7b, 0x12, 0x4b, 0x2a, 0x24, 0xed, 0x8b, 0x19, 0xf5, 0x05, 0x38, 0xff, 0x90,
|
||||
0xc8, 0x6e, 0x38, 0x23, 0x7e, 0x06, 0x8d, 0xc7, 0x2c, 0x24, 0x5b, 0xc9, 0x3e, 0x43, 0x77, 0xa1,
|
||||
0x8e, 0xc3, 0x90, 0x13, 0x21, 0x5c, 0x6b, 0xd5, 0x5a, 0x6b, 0xad, 0x5f, 0xb9, 0x35, 0x75, 0xc6,
|
||||
0xfc, 0x64, 0xf7, 0x8d, 0x8d, 0x5f, 0x18, 0x23, 0x04, 0x55, 0xce, 0x22, 0xe2, 0x56, 0x56, 0xad,
|
||||
0xb5, 0xa6, 0xaf, 0x9f, 0xbd, 0x5f, 0x02, 0x6c, 0x25, 0x54, 0xee, 0x62, 0x8e, 0x63, 0x81, 0x2e,
|
||||
0xc2, 0x42, 0xa2, 0x76, 0xe9, 0xea, 0x85, 0x6d, 0x3f, 0x1f, 0xa1, 0x2e, 0xb4, 0x85, 0xc4, 0x5c,
|
||||
0x06, 0xa9, 0xb6, 0x73, 0x2b, 0xab, 0xf6, 0x5a, 0x6b, 0xfd, 0xfa, 0xdc, 0x6d, 0x1f, 0x91, 0xd1,
|
||||
0x33, 0x1c, 0x65, 0x64, 0x17, 0x53, 0xee, 0xb7, 0xf4, 0x34, 0xb3, 0xba, 0xf7, 0x73, 0x80, 0x3d,
|
||||
0xc9, 0x69, 0x32, 0xd8, 0xa6, 0x42, 0xaa, 0xbd, 0x0e, 0x94, 0x9d, 0xba, 0x84, 0xbd, 0xd6, 0xf4,
|
||||
0xf3, 0x11, 0xfa, 0x08, 0x16, 0x84, 0xc4, 0x32, 0x13, 0xfa, 0x9c, 0xad, 0xf5, 0xcb, 0x73, 0x77,
|
||||
0xd9, 0xd3, 0x26, 0x7e, 0x6e, 0xea, 0x7d, 0x0a, 0xad, 0x02, 0xee, 0x1d, 0x31, 0x40, 0x77, 0xa0,
|
||||
0xda, 0xc3, 0x82, 0x1c, 0x0b, 0xcf, 0x8e, 0x18, 0x6c, 0x60, 0x41, 0x7c, 0x6d, 0xe9, 0xfd, 0xb5,
|
||||
0x02, 0xcb, 0x53, 0x6e, 0xc9, 0x81, 0x3f, 0xfd, 0x52, 0x0a, 0xe6, 0xb0, 0xb7, 0xd5, 0xd5, 0xc7,
|
||||
0xb7, 0x7d, 0xfd, 0x8c, 0x3c, 0x68, 0xf7, 0x59, 0x14, 0x91, 0xbe, 0xa4, 0x2c, 0xd9, 0xea, 0xba,
|
||||
0xb6, 0xd6, 0x4d, 0xc9, 0x94, 0x4d, 0x8a, 0xb9, 0xa4, 0x66, 0x28, 0xdc, 0xea, 0xaa, 0xad, 0x6c,
|
||||
0x26, 0x65, 0xe8, 0xfb, 0xe0, 0x48, 0x8e, 0x0f, 0x48, 0x14, 0x48, 0x1a, 0x13, 0x21, 0x71, 0x9c,
|
||||
0xba, 0xb5, 0x55, 0x6b, 0xad, 0xea, 0x9f, 0x33, 0xf2, 0xa7, 0x85, 0x18, 0xdd, 0x86, 0xf3, 0x83,
|
||||
0x0c, 0x73, 0x9c, 0x48, 0x42, 0x26, 0xac, 0x17, 0xb4, 0x35, 0x2a, 0x55, 0xe3, 0x09, 0x37, 0x61,
|
||||
0x49, 0x99, 0xb1, 0x4c, 0x4e, 0x98, 0xd7, 0xb5, 0xb9, 0x93, 0x2b, 0x4a, 0x63, 0xef, 0x0b, 0x0b,
|
||||
0x2e, 0xcc, 0xe0, 0x25, 0x52, 0x96, 0x08, 0x72, 0x06, 0xc0, 0xce, 0xe2, 0x71, 0x74, 0x0f, 0x6a,
|
||||
0xea, 0x49, 0xb8, 0xf6, 0x49, 0xb9, 0x68, 0xec, 0xbd, 0xdf, 0xd8, 0xf0, 0xfe, 0x26, 0x27, 0x58,
|
||||
0x92, 0xcd, 0x12, 0xfd, 0xb3, 0x3b, 0xfb, 0x7d, 0xa8, 0x87, 0xbd, 0x20, 0xc1, 0x71, 0x11, 0x56,
|
||||
0x0b, 0x61, 0xef, 0x31, 0x8e, 0x09, 0xfa, 0x2e, 0x74, 0xc6, 0xde, 0x55, 0x12, 0xed, 0xf3, 0xa6,
|
||||
0x3f, 0x23, 0x45, 0xdf, 0x86, 0xc5, 0xd2, 0xc3, 0xda, 0xac, 0xaa, 0xcd, 0xa6, 0x85, 0x25, 0xa7,
|
||||
0x6a, 0xc7, 0x70, 0x6a, 0x61, 0x0e, 0xa7, 0x56, 0xa1, 0x35, 0xc1, 0x1f, 0xed, 0x4d, 0xdb, 0x9f,
|
||||
0x14, 0xa9, 0x30, 0x34, 0xb9, 0xcb, 0x6d, 0xac, 0x5a, 0x6b, 0x6d, 0x3f, 0x1f, 0xa1, 0x3b, 0x70,
|
||||
0xfe, 0x80, 0x72, 0x99, 0xe1, 0x28, 0xcf, 0x44, 0xea, 0x1c, 0xc2, 0x6d, 0xea, 0x58, 0x9d, 0xa7,
|
||||
0x42, 0xeb, 0xb0, 0x9c, 0x0e, 0x47, 0x82, 0xf6, 0x67, 0xa6, 0x80, 0x9e, 0x32, 0x57, 0xe7, 0xfd,
|
||||
0xc3, 0x82, 0x0b, 0x5d, 0xce, 0xd2, 0x77, 0xc2, 0x15, 0x05, 0xc8, 0xd5, 0x63, 0x40, 0xae, 0x1d,
|
||||
0x05, 0xd9, 0xfb, 0x6d, 0x05, 0x2e, 0x1a, 0x46, 0xed, 0x16, 0xc0, 0x7e, 0x09, 0xb7, 0xf8, 0x1e,
|
||||
0x9c, 0x1b, 0xef, 0x6a, 0x0c, 0xe6, 0x5f, 0xe3, 0x3b, 0xd0, 0x29, 0x1d, 0x6c, 0xec, 0xbe, 0x5a,
|
||||
0x4a, 0x79, 0x9f, 0x57, 0x60, 0x59, 0x39, 0xf5, 0x1b, 0x34, 0x14, 0x1a, 0x7f, 0xb2, 0x00, 0x19,
|
||||
0x76, 0xdc, 0x8f, 0x28, 0x16, 0x5f, 0x27, 0x16, 0xcb, 0x50, 0xc3, 0xea, 0x0c, 0x39, 0x04, 0x66,
|
||||
0xe0, 0x09, 0x70, 0x94, 0xb7, 0xbe, 0xac, 0xd3, 0x95, 0x9b, 0xda, 0x93, 0x9b, 0xfe, 0xd1, 0x82,
|
||||
0xa5, 0xfb, 0x91, 0x24, 0xfc, 0x1d, 0x05, 0xe5, 0xef, 0x95, 0xc2, 0x6b, 0x5b, 0x49, 0x48, 0x5e,
|
||||
0x7e, 0x9d, 0x07, 0xbc, 0x0a, 0xb0, 0x4f, 0x49, 0x14, 0x4e, 0xb2, 0xb7, 0xa9, 0x25, 0x6f, 0xc5,
|
||||
0x5c, 0x17, 0xea, 0x7a, 0x91, 0x92, 0xb5, 0xc5, 0x50, 0x55, 0x7b, 0xe4, 0xa5, 0xe4, 0xb8, 0xa8,
|
||||
0xf6, 0x1a, 0x27, 0xae, 0xf6, 0xf4, 0xb4, 0xbc, 0xda, 0xfb, 0x57, 0x15, 0x16, 0xb7, 0x12, 0x41,
|
||||
0xb8, 0x3c, 0x3b, 0x78, 0x57, 0xa0, 0x29, 0x86, 0x98, 0xeb, 0x8b, 0xe6, 0xf0, 0x8d, 0x05, 0x93,
|
||||
0xd0, 0xda, 0x6f, 0x82, 0xb6, 0x7a, 0xc2, 0xe4, 0x50, 0x3b, 0x2e, 0x39, 0x2c, 0x1c, 0x03, 0x71,
|
||||
0xfd, 0xcd, 0xc9, 0xa1, 0x71, 0xf4, 0xed, 0xab, 0x2e, 0x48, 0x06, 0x31, 0x49, 0xe4, 0x56, 0xd7,
|
||||
0x6d, 0x6a, 0xfd, 0x58, 0x80, 0x3e, 0x00, 0x28, 0x2b, 0x31, 0xf3, 0x1e, 0xad, 0xfa, 0x13, 0x12,
|
||||
0xf5, 0xee, 0xe6, 0xec, 0x50, 0xd5, 0x8a, 0x2d, 0x5d, 0x2b, 0xe6, 0x23, 0xf4, 0x31, 0x34, 0x38,
|
||||
0x3b, 0x0c, 0x42, 0x2c, 0xb1, 0xdb, 0xd6, 0xce, 0xbb, 0x34, 0x17, 0xec, 0x8d, 0x88, 0xf5, 0xfc,
|
||||
0x3a, 0x67, 0x87, 0x5d, 0x2c, 0x31, 0xfa, 0x14, 0x5a, 0x9a, 0x01, 0xc2, 0x4c, 0x5c, 0xd4, 0x13,
|
||||
0x3f, 0x98, 0x9e, 0x98, 0xb7, 0x39, 0x9f, 0x29, 0x3b, 0x35, 0xc9, 0x37, 0xd4, 0x14, 0x7a, 0x81,
|
||||
0x4b, 0xd0, 0x48, 0xb2, 0x38, 0xe0, 0xec, 0x50, 0xb8, 0x1d, 0x5d, 0x37, 0xd6, 0x93, 0x2c, 0xf6,
|
||||
0xd9, 0xa1, 0x40, 0x1b, 0x50, 0x3f, 0x20, 0x5c, 0x50, 0x96, 0xb8, 0xe7, 0x56, 0xad, 0xb5, 0xce,
|
||||
0xfa, 0xda, 0xad, 0xb9, 0x6d, 0xd5, 0x2d, 0xc3, 0x18, 0xb5, 0xdc, 0x33, 0x63, 0xef, 0x17, 0x13,
|
||||
0xbd, 0x7f, 0x57, 0x61, 0x71, 0x8f, 0x60, 0xde, 0x1f, 0x9e, 0x9d, 0x50, 0xcb, 0x50, 0xe3, 0xe4,
|
||||
0x45, 0x59, 0x9c, 0x9b, 0x41, 0xe9, 0x5f, 0xfb, 0x18, 0xff, 0x56, 0x4f, 0x50, 0xb1, 0xd7, 0xe6,
|
||||
0x54, 0xec, 0x0e, 0xd8, 0xa1, 0x88, 0x34, 0x75, 0x9a, 0xbe, 0x7a, 0x54, 0x75, 0x76, 0x1a, 0xe1,
|
||||
0x3e, 0x19, 0xb2, 0x28, 0x24, 0x3c, 0x18, 0x70, 0x96, 0x99, 0x3a, 0xbb, 0xed, 0x3b, 0x13, 0x8a,
|
||||
0x87, 0x4a, 0x8e, 0xee, 0x41, 0x23, 0x14, 0x51, 0x20, 0x47, 0x29, 0xd1, 0xfc, 0xe9, 0xbc, 0xe6,
|
||||
0x9a, 0x5d, 0x11, 0x3d, 0x1d, 0xa5, 0xc4, 0xaf, 0x87, 0xe6, 0x01, 0xdd, 0x81, 0x65, 0x41, 0x38,
|
||||
0xc5, 0x11, 0x7d, 0x45, 0xc2, 0x80, 0xbc, 0x4c, 0x79, 0x90, 0x46, 0x38, 0xd1, 0x24, 0x6b, 0xfb,
|
||||
0x68, 0xac, 0x7b, 0xf0, 0x32, 0xe5, 0xbb, 0x11, 0x4e, 0xd0, 0x1a, 0x38, 0x2c, 0x93, 0x69, 0x26,
|
||||
0x83, 0x9c, 0x06, 0x34, 0xd4, 0x9c, 0xb3, 0xfd, 0x8e, 0x91, 0x6b, 0xaf, 0x8b, 0xad, 0x70, 0x6e,
|
||||
0x17, 0xd2, 0x3a, 0x55, 0x17, 0xd2, 0x3e, 0x5d, 0x17, 0xb2, 0x38, 0xbf, 0x0b, 0x41, 0x1d, 0xa8,
|
||||
0x24, 0x2f, 0x34, 0xd7, 0x6c, 0xbf, 0x92, 0xbc, 0x50, 0x8e, 0x94, 0x2c, 0x7d, 0xae, 0x39, 0x66,
|
||||
0xfb, 0xfa, 0x59, 0x05, 0x51, 0x4c, 0x24, 0xa7, 0x7d, 0x05, 0x8b, 0xeb, 0x68, 0x3f, 0x4c, 0x48,
|
||||
0xbc, 0xff, 0xda, 0x63, 0x5a, 0x89, 0x2c, 0x92, 0xe2, 0xab, 0xea, 0x60, 0x4a, 0x2e, 0xda, 0x93,
|
||||
0x5c, 0xbc, 0x06, 0x2d, 0x73, 0x38, 0xe3, 0xf3, 0xea, 0xec, 0x79, 0x95, 0x81, 0x8a, 0xb2, 0x17,
|
||||
0x19, 0xe1, 0x94, 0x88, 0x3c, 0xed, 0x43, 0x92, 0xc5, 0x4f, 0x8c, 0x04, 0x9d, 0x87, 0x9a, 0x64,
|
||||
0x69, 0xf0, 0xbc, 0x48, 0x57, 0x92, 0xa5, 0x8f, 0xd0, 0x4f, 0x60, 0x45, 0x10, 0x1c, 0x91, 0x30,
|
||||
0x28, 0xd3, 0x8b, 0x08, 0x84, 0xbe, 0x36, 0x09, 0xdd, 0xba, 0x76, 0xb3, 0x6b, 0x2c, 0xf6, 0x4a,
|
||||
0x83, 0xbd, 0x5c, 0xaf, 0xbc, 0xd8, 0x37, 0x65, 0xfb, 0xd4, 0xb4, 0x86, 0xae, 0xec, 0xd1, 0x58,
|
||||
0x55, 0x4e, 0xf8, 0x11, 0xb8, 0x83, 0x88, 0xf5, 0x70, 0x14, 0x1c, 0xd9, 0x55, 0xb7, 0x10, 0xb6,
|
||||
0x7f, 0xd1, 0xe8, 0xf7, 0x66, 0xb6, 0x54, 0xd7, 0x13, 0x11, 0xed, 0x93, 0x30, 0xe8, 0x45, 0xac,
|
||||
0xe7, 0x82, 0xa6, 0x2b, 0x18, 0x91, 0xca, 0x57, 0x8a, 0xa6, 0xb9, 0x81, 0x82, 0xa1, 0xcf, 0xb2,
|
||||
0x44, 0x6a, 0xf2, 0xd9, 0x7e, 0xc7, 0xc8, 0x1f, 0x67, 0xf1, 0xa6, 0x92, 0xa2, 0x6f, 0xc1, 0x62,
|
||||
0x6e, 0xc9, 0xf6, 0xf7, 0x05, 0x91, 0x9a, 0x75, 0xb6, 0xdf, 0x36, 0xc2, 0x9f, 0x69, 0x99, 0xf7,
|
||||
0x37, 0x1b, 0xce, 0xf9, 0x0a, 0x5d, 0x72, 0x40, 0xfe, 0x9f, 0xf2, 0xca, 0xeb, 0xe2, 0x7b, 0xe1,
|
||||
0x54, 0xf1, 0x5d, 0x3f, 0x71, 0x7c, 0x37, 0x4e, 0x15, 0xdf, 0xcd, 0xd3, 0xc5, 0x37, 0xbc, 0x26,
|
||||
0xbe, 0x97, 0xa1, 0x16, 0xd1, 0x98, 0x16, 0x0e, 0x36, 0x03, 0xef, 0xcf, 0x53, 0x2e, 0x7b, 0x07,
|
||||
0x62, 0xf6, 0x06, 0xd8, 0x34, 0x34, 0x05, 0x64, 0x6b, 0xdd, 0x9d, 0xfb, 0xc6, 0xdc, 0xea, 0x0a,
|
||||
0x5f, 0x19, 0xcd, 0xbe, 0x65, 0x6b, 0xa7, 0x7e, 0xcb, 0xfe, 0x14, 0x2e, 0x1f, 0x8d, 0x64, 0x9e,
|
||||
0xc3, 0x11, 0xba, 0x0b, 0xda, 0xa3, 0x97, 0x66, 0x43, 0xb9, 0xc0, 0x2b, 0x44, 0x3f, 0x84, 0xe5,
|
||||
0x89, 0x58, 0x1e, 0x4f, 0xac, 0x9b, 0xce, 0x7e, 0xac, 0x1b, 0x4f, 0x39, 0x2e, 0x9a, 0x1b, 0xc7,
|
||||
0x45, 0xb3, 0xf7, 0x4f, 0x1b, 0x16, 0xbb, 0x24, 0x22, 0x92, 0x7c, 0x53, 0x04, 0xbe, 0xb6, 0x08,
|
||||
0xfc, 0x01, 0x20, 0x9a, 0xc8, 0xbb, 0x1f, 0x07, 0x29, 0xa7, 0x31, 0xe6, 0xa3, 0xe0, 0x39, 0x19,
|
||||
0x15, 0x69, 0xd2, 0xd1, 0x9a, 0x5d, 0xa3, 0x78, 0x44, 0x46, 0xe2, 0x8d, 0x45, 0xe1, 0x64, 0x15,
|
||||
0x66, 0xc2, 0xa6, 0xac, 0xc2, 0x7e, 0x0c, 0xed, 0xa9, 0x2d, 0xda, 0x6f, 0x20, 0x6c, 0x2b, 0x1d,
|
||||
0xef, 0xeb, 0xfd, 0xc7, 0x82, 0xe6, 0x36, 0xc3, 0xa1, 0xee, 0x87, 0xce, 0xe8, 0xc6, 0xb2, 0xd4,
|
||||
0xad, 0xcc, 0x96, 0xba, 0x57, 0x60, 0xdc, 0xd2, 0xe4, 0x8e, 0x9c, 0xe8, 0x71, 0x26, 0x7a, 0x95,
|
||||
0xea, 0x74, 0xaf, 0x72, 0x0d, 0x5a, 0x54, 0x1d, 0x28, 0x48, 0xb1, 0x1c, 0x9a, 0x4c, 0xd9, 0xf4,
|
||||
0x41, 0x8b, 0x76, 0x95, 0x44, 0x35, 0x33, 0x85, 0x81, 0x6e, 0x66, 0x16, 0x4e, 0xdc, 0xcc, 0xe4,
|
||||
0x8b, 0xe8, 0x66, 0xe6, 0xd7, 0x16, 0x80, 0xbe, 0xb8, 0xca, 0x07, 0x47, 0x17, 0xb5, 0xce, 0xb2,
|
||||
0xa8, 0x4a, 0xe1, 0xda, 0x53, 0x24, 0xc2, 0x72, 0x1c, 0x54, 0x22, 0x07, 0x07, 0x29, 0xaf, 0x19,
|
||||
0x55, 0x1e, 0x50, 0xc2, 0xfb, 0x9d, 0x05, 0xa0, 0xb3, 0x82, 0x39, 0xc6, 0x2c, 0xfd, 0xac, 0xe3,
|
||||
0xdb, 0xbc, 0xca, 0x34, 0x74, 0x1b, 0x05, 0x74, 0xc7, 0x7c, 0x47, 0x9d, 0xa8, 0xcb, 0x8b, 0xcb,
|
||||
0xe7, 0xe8, 0xea, 0x67, 0xef, 0xf7, 0x16, 0xb4, 0xf3, 0xd3, 0x99, 0x23, 0x4d, 0x79, 0xd9, 0x9a,
|
||||
0xf5, 0xb2, 0x2e, 0x6e, 0x62, 0xc6, 0x47, 0x81, 0xa0, 0xaf, 0x48, 0x7e, 0x20, 0x30, 0xa2, 0x3d,
|
||||
0xfa, 0x8a, 0x4c, 0x91, 0xd7, 0x9e, 0x26, 0xef, 0x4d, 0x58, 0xe2, 0xa4, 0x4f, 0x12, 0x19, 0x8d,
|
||||
0x82, 0x98, 0x85, 0x74, 0x9f, 0x92, 0x50, 0xb3, 0xa1, 0xe1, 0x3b, 0x85, 0x62, 0x27, 0x97, 0x7b,
|
||||
0xbf, 0xb2, 0xa0, 0xb5, 0x23, 0x06, 0xbb, 0x4c, 0xe8, 0x20, 0x43, 0xd7, 0xa1, 0x9d, 0x27, 0x36,
|
||||
0x13, 0xe1, 0x96, 0x66, 0x58, 0xab, 0x3f, 0xfe, 0x16, 0xa9, 0x52, 0x7b, 0x2c, 0x06, 0x39, 0x4c,
|
||||
0x6d, 0xdf, 0x0c, 0xd0, 0x0a, 0x34, 0x62, 0x31, 0xd0, 0xb5, 0x78, 0x4e, 0xcb, 0x72, 0xac, 0xee,
|
||||
0x3a, 0x7e, 0x85, 0x55, 0xf5, 0x2b, 0x6c, 0x2c, 0xf0, 0xbe, 0xb0, 0x00, 0xe5, 0xdf, 0x3a, 0xdf,
|
||||
0xea, 0xd7, 0x84, 0xf6, 0xf2, 0xe4, 0xf7, 0xd4, 0x8a, 0xe6, 0xf8, 0x94, 0x6c, 0x26, 0x29, 0xd8,
|
||||
0x47, 0x92, 0xc2, 0x4d, 0x58, 0x0a, 0xc9, 0x3e, 0xce, 0xa2, 0xc9, 0xb7, 0xae, 0x39, 0xb2, 0x93,
|
||||
0x2b, 0xa6, 0xbe, 0xed, 0x77, 0x36, 0x39, 0x09, 0x49, 0x22, 0x29, 0x8e, 0xf4, 0x2f, 0xa7, 0x15,
|
||||
0x68, 0x64, 0x42, 0x31, 0xa1, 0xc4, 0xae, 0x1c, 0xa3, 0x0f, 0x01, 0x91, 0xa4, 0xcf, 0x47, 0xa9,
|
||||
0x22, 0x71, 0x8a, 0x85, 0x38, 0x64, 0x3c, 0xcc, 0x13, 0xf5, 0x52, 0xa9, 0xd9, 0xcd, 0x15, 0xaa,
|
||||
0x69, 0x95, 0x24, 0xc1, 0x89, 0x2c, 0xf2, 0xb5, 0x19, 0x29, 0xd7, 0x53, 0x11, 0x88, 0x2c, 0x25,
|
||||
0x3c, 0x77, 0x6b, 0x9d, 0x8a, 0x3d, 0x35, 0x54, 0xa9, 0x5c, 0x0c, 0xf1, 0xfa, 0x27, 0x77, 0xc7,
|
||||
0xcb, 0x9b, 0x14, 0xdd, 0x31, 0xe2, 0x62, 0x6d, 0xef, 0x01, 0x2c, 0x6d, 0x53, 0x21, 0x77, 0x59,
|
||||
0x44, 0xfb, 0xa3, 0x33, 0xbf, 0x71, 0xbc, 0xcf, 0x2d, 0x40, 0x93, 0xeb, 0xe4, 0x7f, 0x36, 0xc6,
|
||||
0x15, 0x83, 0x75, 0xf2, 0x8a, 0xe1, 0x3a, 0xb4, 0x53, 0xbd, 0x4c, 0x40, 0x93, 0x7d, 0x56, 0x78,
|
||||
0xaf, 0x65, 0x64, 0x0a, 0x5b, 0x81, 0xae, 0x02, 0x28, 0x30, 0x03, 0xce, 0x22, 0x62, 0x9c, 0xd7,
|
||||
0xf4, 0x9b, 0x4a, 0xe2, 0x2b, 0x81, 0x37, 0x80, 0x4b, 0x7b, 0x43, 0x76, 0xb8, 0xc9, 0x92, 0x7d,
|
||||
0x3a, 0xc8, 0x38, 0x56, 0x84, 0x7e, 0x8b, 0x2f, 0x66, 0x2e, 0xd4, 0x53, 0x2c, 0x55, 0x58, 0xe7,
|
||||
0x3e, 0x2a, 0x86, 0xde, 0x1f, 0x2c, 0x58, 0x99, 0xb7, 0xd3, 0xdb, 0x5c, 0xff, 0x21, 0x2c, 0xf6,
|
||||
0xcd, 0x72, 0x66, 0xb5, 0x93, 0xff, 0x3a, 0x9c, 0x9e, 0xe7, 0x3d, 0x80, 0xaa, 0x8f, 0x25, 0x41,
|
||||
0xb7, 0xa1, 0xc2, 0xa5, 0x3e, 0x41, 0x67, 0xfd, 0xda, 0x6b, 0x92, 0x95, 0x32, 0xd4, 0xdd, 0x70,
|
||||
0x85, 0x4b, 0xd4, 0x06, 0x8b, 0xeb, 0x9b, 0x5a, 0xbe, 0xc5, 0x6f, 0xac, 0xc3, 0xd2, 0x91, 0x4f,
|
||||
0x0c, 0xa8, 0x0d, 0x0d, 0x9f, 0x1d, 0x2a, 0x8c, 0x42, 0xe7, 0x3d, 0x74, 0x0e, 0x5a, 0x9b, 0x2c,
|
||||
0xca, 0xe2, 0xc4, 0x08, 0xac, 0x1b, 0x7f, 0xb1, 0xa0, 0x51, 0x2c, 0x89, 0x96, 0x60, 0xb1, 0xdb,
|
||||
0xdd, 0x1e, 0xff, 0xaf, 0x70, 0xde, 0x43, 0x0e, 0xb4, 0xbb, 0xdd, 0xed, 0xf2, 0x6b, 0xb7, 0x63,
|
||||
0xa9, 0x05, 0xbb, 0xdd, 0x6d, 0x9d, 0x33, 0x9d, 0x4a, 0x3e, 0xfa, 0x2c, 0xca, 0xc4, 0xd0, 0xb1,
|
||||
0xcb, 0x05, 0xe2, 0x14, 0x9b, 0x05, 0xaa, 0x68, 0x11, 0x9a, 0xdd, 0x9d, 0x6d, 0x73, 0x2e, 0xa7,
|
||||
0x96, 0x0f, 0x4d, 0xd9, 0xe4, 0x2c, 0xa8, 0xf3, 0x74, 0x77, 0xb6, 0x37, 0xb2, 0xe8, 0xb9, 0x7a,
|
||||
0xfd, 0x3a, 0x75, 0xad, 0x7f, 0xb2, 0x6d, 0x7a, 0x2d, 0xa7, 0xa1, 0x97, 0x7f, 0xb2, 0xad, 0xba,
|
||||
0xbf, 0x91, 0xd3, 0xdc, 0xb8, 0xf7, 0x8b, 0x4f, 0x06, 0x54, 0x0e, 0xb3, 0x9e, 0x02, 0xf5, 0xb6,
|
||||
0xc1, 0xe7, 0x43, 0xca, 0xf2, 0xa7, 0xdb, 0x05, 0x46, 0xb7, 0x35, 0x64, 0xe5, 0x30, 0xed, 0xf5,
|
||||
0x16, 0xb4, 0xe4, 0xa3, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xad, 0xe9, 0xa6, 0xf9, 0x00, 0x1f,
|
||||
0x00, 0x00,
|
||||
// 2220 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6f, 0xdc, 0xb8,
|
||||
0x15, 0x5f, 0x8d, 0xe6, 0xf3, 0xcd, 0x78, 0x32, 0x66, 0x9c, 0xac, 0xe2, 0x24, 0x1b, 0x47, 0xfd,
|
||||
0x72, 0x93, 0x6e, 0x92, 0x7a, 0x77, 0x93, 0x02, 0x2d, 0xba, 0x88, 0x3d, 0x59, 0xc3, 0x88, 0x9d,
|
||||
0x3a, 0x72, 0x10, 0xa0, 0xbd, 0x08, 0x9c, 0x11, 0x3d, 0xc3, 0x46, 0x12, 0x15, 0x92, 0xb2, 0x33,
|
||||
0x39, 0xf5, 0xd0, 0x53, 0x17, 0xed, 0xad, 0x97, 0x02, 0xed, 0xb9, 0x28, 0xd0, 0xf3, 0x1e, 0x0b,
|
||||
0xf4, 0xd4, 0x53, 0x8f, 0xfd, 0x63, 0x16, 0x3d, 0x14, 0x24, 0x25, 0xcd, 0x87, 0xc7, 0x8e, 0xed,
|
||||
0x60, 0x77, 0x53, 0x60, 0x6f, 0xe2, 0x7b, 0x8f, 0x4f, 0xe4, 0xef, 0xfd, 0xf8, 0xf8, 0x9e, 0x04,
|
||||
0x6d, 0x1a, 0x4b, 0xc2, 0x63, 0x1c, 0xde, 0x49, 0x38, 0x93, 0x0c, 0x5d, 0x8a, 0x68, 0x78, 0x90,
|
||||
0x0a, 0x33, 0xba, 0x93, 0x2b, 0x97, 0x5b, 0x7d, 0x16, 0x45, 0x2c, 0x36, 0xe2, 0xe5, 0x96, 0xe8,
|
||||
0x0f, 0x49, 0x84, 0xcd, 0xc8, 0xbd, 0x0a, 0x57, 0x36, 0x89, 0x7c, 0x46, 0x23, 0xf2, 0x8c, 0xf6,
|
||||
0x5f, 0x6c, 0x0c, 0x71, 0x1c, 0x93, 0xd0, 0x23, 0x2f, 0x53, 0x22, 0xa4, 0x7b, 0x1d, 0xae, 0x6e,
|
||||
0x12, 0xb9, 0x27, 0xb1, 0xa4, 0x42, 0xd2, 0xbe, 0x98, 0x51, 0x5f, 0x82, 0x8b, 0x9b, 0x44, 0x76,
|
||||
0x83, 0x19, 0xf1, 0x73, 0xa8, 0x3f, 0x61, 0x01, 0xd9, 0x8a, 0xf7, 0x19, 0xba, 0x0f, 0x35, 0x1c,
|
||||
0x04, 0x9c, 0x08, 0xe1, 0x58, 0x2b, 0xd6, 0x6a, 0x73, 0xed, 0xda, 0x9d, 0xa9, 0x35, 0x66, 0x2b,
|
||||
0x7b, 0x68, 0x6c, 0xbc, 0xdc, 0x18, 0x21, 0x28, 0x73, 0x16, 0x12, 0xa7, 0xb4, 0x62, 0xad, 0x36,
|
||||
0x3c, 0xfd, 0xec, 0xfe, 0x1a, 0x60, 0x2b, 0xa6, 0x72, 0x17, 0x73, 0x1c, 0x09, 0x74, 0x19, 0xaa,
|
||||
0xb1, 0x7a, 0x4b, 0x57, 0x3b, 0xb6, 0xbd, 0x6c, 0x84, 0xba, 0xd0, 0x12, 0x12, 0x73, 0xe9, 0x27,
|
||||
0xda, 0xce, 0x29, 0xad, 0xd8, 0xab, 0xcd, 0xb5, 0x9b, 0x73, 0x5f, 0xfb, 0x98, 0x8c, 0x9e, 0xe3,
|
||||
0x30, 0x25, 0xbb, 0x98, 0x72, 0xaf, 0xa9, 0xa7, 0x19, 0xef, 0xee, 0x2f, 0x01, 0xf6, 0x24, 0xa7,
|
||||
0xf1, 0x60, 0x9b, 0x0a, 0xa9, 0xde, 0x75, 0xa0, 0xec, 0xd4, 0x26, 0xec, 0xd5, 0x86, 0x97, 0x8d,
|
||||
0xd0, 0x47, 0x50, 0x15, 0x12, 0xcb, 0x54, 0xe8, 0x75, 0x36, 0xd7, 0xae, 0xce, 0x7d, 0xcb, 0x9e,
|
||||
0x36, 0xf1, 0x32, 0x53, 0xf7, 0x53, 0x68, 0xe6, 0x70, 0xef, 0x88, 0x01, 0xba, 0x07, 0xe5, 0x1e,
|
||||
0x16, 0xe4, 0x44, 0x78, 0x76, 0xc4, 0x60, 0x1d, 0x0b, 0xe2, 0x69, 0x4b, 0xf7, 0xef, 0x25, 0x58,
|
||||
0x9a, 0x0a, 0x4b, 0x06, 0xfc, 0xd9, 0x5d, 0x29, 0x98, 0x83, 0xde, 0x56, 0x57, 0x2f, 0xdf, 0xf6,
|
||||
0xf4, 0x33, 0x72, 0xa1, 0xd5, 0x67, 0x61, 0x48, 0xfa, 0x92, 0xb2, 0x78, 0xab, 0xeb, 0xd8, 0x5a,
|
||||
0x37, 0x25, 0x53, 0x36, 0x09, 0xe6, 0x92, 0x9a, 0xa1, 0x70, 0xca, 0x2b, 0xb6, 0xb2, 0x99, 0x94,
|
||||
0xa1, 0x1f, 0x42, 0x47, 0x72, 0x7c, 0x40, 0x42, 0x5f, 0xd2, 0x88, 0x08, 0x89, 0xa3, 0xc4, 0xa9,
|
||||
0xac, 0x58, 0xab, 0x65, 0xef, 0x82, 0x91, 0x3f, 0xcb, 0xc5, 0xe8, 0x2e, 0x5c, 0x1c, 0xa4, 0x98,
|
||||
0xe3, 0x58, 0x12, 0x32, 0x61, 0x5d, 0xd5, 0xd6, 0xa8, 0x50, 0x8d, 0x27, 0xdc, 0x86, 0x45, 0x65,
|
||||
0xc6, 0x52, 0x39, 0x61, 0x5e, 0xd3, 0xe6, 0x9d, 0x4c, 0x51, 0x18, 0xbb, 0x5f, 0x58, 0x70, 0x69,
|
||||
0x06, 0x2f, 0x91, 0xb0, 0x58, 0x90, 0x73, 0x00, 0x76, 0x9e, 0x88, 0xa3, 0x07, 0x50, 0x51, 0x4f,
|
||||
0xc2, 0xb1, 0x4f, 0xcb, 0x45, 0x63, 0xef, 0xfe, 0xce, 0x86, 0xf7, 0x37, 0x38, 0xc1, 0x92, 0x6c,
|
||||
0x14, 0xe8, 0x9f, 0x3f, 0xd8, 0xef, 0x43, 0x2d, 0xe8, 0xf9, 0x31, 0x8e, 0xf2, 0x63, 0x55, 0x0d,
|
||||
0x7a, 0x4f, 0x70, 0x44, 0xd0, 0xf7, 0xa1, 0x3d, 0x8e, 0xae, 0x92, 0xe8, 0x98, 0x37, 0xbc, 0x19,
|
||||
0x29, 0xfa, 0x2e, 0x2c, 0x14, 0x11, 0xd6, 0x66, 0x65, 0x6d, 0x36, 0x2d, 0x2c, 0x38, 0x55, 0x39,
|
||||
0x81, 0x53, 0xd5, 0x39, 0x9c, 0x5a, 0x81, 0xe6, 0x04, 0x7f, 0x74, 0x34, 0x6d, 0x6f, 0x52, 0xa4,
|
||||
0x8e, 0xa1, 0xc9, 0x5d, 0x4e, 0x7d, 0xc5, 0x5a, 0x6d, 0x79, 0xd9, 0x08, 0xdd, 0x83, 0x8b, 0x07,
|
||||
0x94, 0xcb, 0x14, 0x87, 0x59, 0x26, 0x52, 0xeb, 0x10, 0x4e, 0x43, 0x9f, 0xd5, 0x79, 0x2a, 0xb4,
|
||||
0x06, 0x4b, 0xc9, 0x70, 0x24, 0x68, 0x7f, 0x66, 0x0a, 0xe8, 0x29, 0x73, 0x75, 0xee, 0x3f, 0x2d,
|
||||
0xb8, 0xd4, 0xe5, 0x2c, 0x79, 0x27, 0x42, 0x91, 0x83, 0x5c, 0x3e, 0x01, 0xe4, 0xca, 0x51, 0x90,
|
||||
0xdd, 0xdf, 0x97, 0xe0, 0xb2, 0x61, 0xd4, 0x6e, 0x0e, 0xec, 0x57, 0xb0, 0x8b, 0x1f, 0xc0, 0x85,
|
||||
0xf1, 0x5b, 0x8d, 0xc1, 0xfc, 0x6d, 0x7c, 0x0f, 0xda, 0x45, 0x80, 0x8d, 0xdd, 0xd7, 0x4b, 0x29,
|
||||
0xf7, 0xf3, 0x12, 0x2c, 0xa9, 0xa0, 0x7e, 0x8b, 0x86, 0x42, 0xe3, 0x2f, 0x16, 0x20, 0xc3, 0x8e,
|
||||
0x87, 0x21, 0xc5, 0xe2, 0x9b, 0xc4, 0x62, 0x09, 0x2a, 0x58, 0xad, 0x21, 0x83, 0xc0, 0x0c, 0x5c,
|
||||
0x01, 0x1d, 0x15, 0xad, 0xaf, 0x6a, 0x75, 0xc5, 0x4b, 0xed, 0xc9, 0x97, 0xfe, 0xd9, 0x82, 0xc5,
|
||||
0x87, 0xa1, 0x24, 0xfc, 0x1d, 0x05, 0xe5, 0x1f, 0xa5, 0x3c, 0x6a, 0x5b, 0x71, 0x40, 0x5e, 0x7d,
|
||||
0x93, 0x0b, 0xbc, 0x0e, 0xb0, 0x4f, 0x49, 0x18, 0x4c, 0xb2, 0xb7, 0xa1, 0x25, 0x6f, 0xc5, 0x5c,
|
||||
0x07, 0x6a, 0xda, 0x49, 0xc1, 0xda, 0x7c, 0xa8, 0xaa, 0x3d, 0xf2, 0x4a, 0x72, 0x9c, 0x57, 0x7b,
|
||||
0xf5, 0x53, 0x57, 0x7b, 0x7a, 0x5a, 0x56, 0xed, 0xfd, 0xbb, 0x0c, 0x0b, 0x5b, 0xb1, 0x20, 0x5c,
|
||||
0x9e, 0x1f, 0xbc, 0x6b, 0xd0, 0x10, 0x43, 0xcc, 0xf5, 0x46, 0x33, 0xf8, 0xc6, 0x82, 0x49, 0x68,
|
||||
0xed, 0x37, 0x41, 0x5b, 0x3e, 0x65, 0x72, 0xa8, 0x9c, 0x94, 0x1c, 0xaa, 0x27, 0x40, 0x5c, 0x7b,
|
||||
0x73, 0x72, 0xa8, 0x1f, 0xbd, 0x7d, 0xd5, 0x06, 0xc9, 0x20, 0x22, 0xb1, 0xdc, 0xea, 0x3a, 0x0d,
|
||||
0xad, 0x1f, 0x0b, 0xd0, 0x07, 0x00, 0x45, 0x25, 0x66, 0xee, 0xd1, 0xb2, 0x37, 0x21, 0x51, 0x77,
|
||||
0x37, 0x67, 0x87, 0xaa, 0x56, 0x6c, 0xea, 0x5a, 0x31, 0x1b, 0xa1, 0x8f, 0xa1, 0xce, 0xd9, 0xa1,
|
||||
0x1f, 0x60, 0x89, 0x9d, 0x96, 0x0e, 0xde, 0x95, 0xb9, 0x60, 0xaf, 0x87, 0xac, 0xe7, 0xd5, 0x38,
|
||||
0x3b, 0xec, 0x62, 0x89, 0xd1, 0xa7, 0xd0, 0xd4, 0x0c, 0x10, 0x66, 0xe2, 0x82, 0x9e, 0xf8, 0xc1,
|
||||
0xf4, 0xc4, 0xac, 0xcd, 0xf9, 0x4c, 0xd9, 0xa9, 0x49, 0x9e, 0xa1, 0xa6, 0xd0, 0x0e, 0xae, 0x40,
|
||||
0x3d, 0x4e, 0x23, 0x9f, 0xb3, 0x43, 0xe1, 0xb4, 0x75, 0xdd, 0x58, 0x8b, 0xd3, 0xc8, 0x63, 0x87,
|
||||
0x02, 0xad, 0x43, 0xed, 0x80, 0x70, 0x41, 0x59, 0xec, 0x5c, 0x58, 0xb1, 0x56, 0xdb, 0x6b, 0xab,
|
||||
0x77, 0xe6, 0xb6, 0x55, 0x77, 0x0c, 0x63, 0x94, 0xbb, 0xe7, 0xc6, 0xde, 0xcb, 0x27, 0xba, 0x5f,
|
||||
0x96, 0x61, 0x61, 0x8f, 0x60, 0xde, 0x1f, 0x9e, 0x9f, 0x50, 0x4b, 0x50, 0xe1, 0xe4, 0x65, 0x51,
|
||||
0x9c, 0x9b, 0x41, 0x11, 0x5f, 0xfb, 0x84, 0xf8, 0x96, 0x4f, 0x51, 0xb1, 0x57, 0xe6, 0x54, 0xec,
|
||||
0x1d, 0xb0, 0x03, 0x11, 0x6a, 0xea, 0x34, 0x3c, 0xf5, 0xa8, 0xea, 0xec, 0x24, 0xc4, 0x7d, 0x32,
|
||||
0x64, 0x61, 0x40, 0xb8, 0x3f, 0xe0, 0x2c, 0x35, 0x75, 0x76, 0xcb, 0xeb, 0x4c, 0x28, 0x36, 0x95,
|
||||
0x1c, 0x3d, 0x80, 0x7a, 0x20, 0x42, 0x5f, 0x8e, 0x12, 0xa2, 0xf9, 0xd3, 0x3e, 0x66, 0x9b, 0x5d,
|
||||
0x11, 0x3e, 0x1b, 0x25, 0xc4, 0xab, 0x05, 0xe6, 0x01, 0xdd, 0x83, 0x25, 0x41, 0x38, 0xc5, 0x21,
|
||||
0x7d, 0x4d, 0x02, 0x9f, 0xbc, 0x4a, 0xb8, 0x9f, 0x84, 0x38, 0xd6, 0x24, 0x6b, 0x79, 0x68, 0xac,
|
||||
0x7b, 0xf4, 0x2a, 0xe1, 0xbb, 0x21, 0x8e, 0xd1, 0x2a, 0x74, 0x58, 0x2a, 0x93, 0x54, 0xfa, 0x19,
|
||||
0x0d, 0x68, 0xa0, 0x39, 0x67, 0x7b, 0x6d, 0x23, 0xd7, 0x51, 0x17, 0x5b, 0xc1, 0xdc, 0x2e, 0xa4,
|
||||
0x79, 0xa6, 0x2e, 0xa4, 0x75, 0xb6, 0x2e, 0x64, 0x61, 0x7e, 0x17, 0x82, 0xda, 0x50, 0x8a, 0x5f,
|
||||
0x6a, 0xae, 0xd9, 0x5e, 0x29, 0x7e, 0xa9, 0x02, 0x29, 0x59, 0xf2, 0x42, 0x73, 0xcc, 0xf6, 0xf4,
|
||||
0xb3, 0x3a, 0x44, 0x11, 0x91, 0x9c, 0xf6, 0x15, 0x2c, 0x4e, 0x47, 0xc7, 0x61, 0x42, 0xa2, 0x0a,
|
||||
0x70, 0x3a, 0x88, 0x19, 0x27, 0x9b, 0x9c, 0x1d, 0xd2, 0x78, 0xe0, 0x2c, 0xae, 0x58, 0xab, 0x75,
|
||||
0x6f, 0x5a, 0xe8, 0xfe, 0xd7, 0x1e, 0x93, 0x4f, 0xa4, 0xa1, 0x14, 0x5f, 0x57, 0x9f, 0x53, 0x30,
|
||||
0xd6, 0x9e, 0x64, 0xec, 0x0d, 0x68, 0x9a, 0x2d, 0x18, 0x66, 0x94, 0x8f, 0xec, 0xea, 0x06, 0x34,
|
||||
0xd5, 0x59, 0x7c, 0x99, 0x12, 0x4e, 0x89, 0xc8, 0x2e, 0x07, 0x88, 0xd3, 0xe8, 0xa9, 0x91, 0xa0,
|
||||
0x8b, 0x50, 0x91, 0x2c, 0xf1, 0x5f, 0xe4, 0x49, 0x4d, 0xb2, 0xe4, 0x31, 0xfa, 0x19, 0x2c, 0x0b,
|
||||
0x82, 0x43, 0x12, 0xf8, 0x45, 0x12, 0x12, 0xbe, 0xd0, 0xdb, 0x26, 0x81, 0x53, 0xd3, 0x64, 0x70,
|
||||
0x8c, 0xc5, 0x5e, 0x61, 0xb0, 0x97, 0xe9, 0x55, 0xac, 0xfb, 0xa6, 0xb8, 0x9f, 0x9a, 0x56, 0xd7,
|
||||
0xf5, 0x3f, 0x1a, 0xab, 0x8a, 0x09, 0x3f, 0x01, 0x67, 0x10, 0xb2, 0x1e, 0x0e, 0xfd, 0x23, 0x6f,
|
||||
0xd5, 0x8d, 0x86, 0xed, 0x5d, 0x36, 0xfa, 0xbd, 0x99, 0x57, 0xaa, 0xed, 0x89, 0x90, 0xf6, 0x49,
|
||||
0xe0, 0xf7, 0x42, 0xd6, 0x73, 0x40, 0x93, 0x1a, 0x8c, 0x48, 0x65, 0x35, 0x45, 0xe6, 0xcc, 0x40,
|
||||
0xc1, 0xd0, 0x67, 0x69, 0x2c, 0x35, 0x45, 0x6d, 0xaf, 0x6d, 0xe4, 0x4f, 0xd2, 0x68, 0x43, 0x49,
|
||||
0xd1, 0x77, 0x60, 0x21, 0xb3, 0x64, 0xfb, 0xfb, 0x82, 0x48, 0xcd, 0x4d, 0xdb, 0x6b, 0x19, 0xe1,
|
||||
0x2f, 0xb4, 0xcc, 0xfd, 0x8f, 0x0d, 0x17, 0x3c, 0x85, 0x2e, 0x39, 0x20, 0xff, 0x4f, 0xd9, 0xe7,
|
||||
0xb8, 0x2c, 0x50, 0x3d, 0x53, 0x16, 0xa8, 0x9d, 0x3a, 0x0b, 0xd4, 0xcf, 0x94, 0x05, 0x1a, 0x67,
|
||||
0xcb, 0x02, 0x70, 0x4c, 0x16, 0x58, 0x82, 0x4a, 0x48, 0x23, 0x9a, 0x07, 0xd8, 0x0c, 0x8e, 0x9e,
|
||||
0xeb, 0xd6, 0xbc, 0x73, 0xfd, 0xd7, 0xa9, 0xc0, 0xbe, 0x03, 0x27, 0xfb, 0x16, 0xd8, 0x34, 0x30,
|
||||
0xc5, 0x68, 0x73, 0xcd, 0x99, 0x7b, 0xfb, 0x6e, 0x75, 0x85, 0xa7, 0x8c, 0x66, 0x6f, 0xec, 0xca,
|
||||
0x99, 0x6f, 0xec, 0x9f, 0xc3, 0xd5, 0xa3, 0xe7, 0x9d, 0x67, 0x70, 0x04, 0x4e, 0x55, 0xc7, 0xfd,
|
||||
0xca, 0xec, 0x81, 0xcf, 0xf1, 0x0a, 0xd0, 0x8f, 0x61, 0x69, 0xe2, 0xc4, 0x8f, 0x27, 0xd6, 0xcc,
|
||||
0x57, 0x82, 0xb1, 0x6e, 0x3c, 0xe5, 0xa4, 0x33, 0x5f, 0x3f, 0xe9, 0xcc, 0xbb, 0xff, 0xb2, 0x61,
|
||||
0xa1, 0x4b, 0x42, 0x22, 0xc9, 0xb7, 0x05, 0xe5, 0xb1, 0x05, 0xe5, 0x8f, 0x00, 0xd1, 0x58, 0xde,
|
||||
0xff, 0xd8, 0x4f, 0x38, 0x8d, 0x30, 0x1f, 0xf9, 0x2f, 0xc8, 0x28, 0x4f, 0xa6, 0x1d, 0xad, 0xd9,
|
||||
0x35, 0x8a, 0xc7, 0x64, 0x24, 0xde, 0x58, 0x60, 0x4e, 0x56, 0x74, 0xe6, 0x70, 0x15, 0x15, 0xdd,
|
||||
0x4f, 0xa1, 0x35, 0xf5, 0x8a, 0xd6, 0x1b, 0x08, 0xdb, 0x4c, 0xc6, 0xef, 0x75, 0xbf, 0xb4, 0xa0,
|
||||
0xb1, 0xcd, 0x70, 0xa0, 0x7b, 0xab, 0x73, 0x86, 0xb1, 0x28, 0x9b, 0x4b, 0xb3, 0x65, 0xf3, 0x35,
|
||||
0x18, 0xb7, 0x47, 0x59, 0x20, 0x27, 0xfa, 0xa5, 0x89, 0xbe, 0xa7, 0x3c, 0xdd, 0xf7, 0xdc, 0x80,
|
||||
0x26, 0x55, 0x0b, 0xf2, 0x13, 0x2c, 0x87, 0x26, 0x9f, 0x36, 0x3c, 0xd0, 0xa2, 0x5d, 0x25, 0x51,
|
||||
0x8d, 0x51, 0x6e, 0xa0, 0x1b, 0xa3, 0xea, 0xa9, 0x1b, 0xa3, 0xcc, 0x89, 0x6e, 0x8c, 0x7e, 0x6b,
|
||||
0x01, 0xe8, 0x8d, 0xab, 0x7c, 0x70, 0xd4, 0xa9, 0x75, 0x1e, 0xa7, 0x2a, 0xd1, 0xeb, 0x48, 0x91,
|
||||
0x10, 0xcb, 0xf1, 0xa1, 0x12, 0x19, 0x38, 0x48, 0x45, 0xcd, 0xa8, 0xb2, 0x03, 0x25, 0xdc, 0x3f,
|
||||
0x58, 0x00, 0x3a, 0x2b, 0x98, 0x65, 0xcc, 0xd2, 0xcf, 0x3a, 0xb9, 0x65, 0x2c, 0x4d, 0x43, 0xb7,
|
||||
0x9e, 0x43, 0x77, 0xc2, 0x37, 0xd9, 0x89, 0x1a, 0x3f, 0xdf, 0x7c, 0x86, 0xae, 0x7e, 0x76, 0xff,
|
||||
0x68, 0x41, 0x2b, 0x5b, 0x9d, 0x59, 0xd2, 0x54, 0x94, 0xad, 0xd9, 0x28, 0xeb, 0x12, 0x28, 0x62,
|
||||
0x7c, 0xe4, 0x0b, 0xfa, 0x9a, 0x64, 0x0b, 0x02, 0x23, 0xda, 0xa3, 0xaf, 0xc9, 0x14, 0x79, 0xed,
|
||||
0x69, 0xf2, 0xde, 0x86, 0x45, 0x4e, 0xfa, 0x24, 0x96, 0xe1, 0xc8, 0x8f, 0x58, 0x40, 0xf7, 0x29,
|
||||
0x09, 0x34, 0x1b, 0xea, 0x5e, 0x27, 0x57, 0xec, 0x64, 0x72, 0xf7, 0x37, 0x16, 0x34, 0x77, 0xc4,
|
||||
0x60, 0x97, 0x09, 0x7d, 0xc8, 0xd0, 0x4d, 0x68, 0x65, 0x89, 0xcd, 0x9c, 0x70, 0x4b, 0x33, 0xac,
|
||||
0xd9, 0x1f, 0x7f, 0xd7, 0x54, 0xa9, 0x3d, 0x12, 0x83, 0x0c, 0xa6, 0x96, 0x67, 0x06, 0x68, 0x19,
|
||||
0xea, 0x91, 0x18, 0xe8, 0xba, 0x3e, 0xa3, 0x65, 0x31, 0x56, 0x7b, 0x1d, 0x5f, 0x74, 0x65, 0x7d,
|
||||
0xd1, 0x8d, 0x05, 0xee, 0x17, 0x16, 0xa0, 0xec, 0xbb, 0xe9, 0x5b, 0xfd, 0xe6, 0xd0, 0x51, 0x9e,
|
||||
0xfc, 0x36, 0x5b, 0xd2, 0x1c, 0x9f, 0x92, 0xcd, 0x24, 0x05, 0xfb, 0x48, 0x52, 0xb8, 0x0d, 0x8b,
|
||||
0x01, 0xd9, 0xc7, 0x69, 0x38, 0x79, 0x37, 0x9b, 0x25, 0x77, 0x32, 0xc5, 0xd4, 0x7f, 0x82, 0xf6,
|
||||
0x06, 0x27, 0x01, 0x89, 0x25, 0xc5, 0xa1, 0xfe, 0x7d, 0xb5, 0x0c, 0xf5, 0x54, 0x28, 0x26, 0x14,
|
||||
0xd8, 0x15, 0x63, 0xf4, 0x21, 0x20, 0x12, 0xf7, 0xf9, 0x28, 0x51, 0x24, 0x4e, 0xb0, 0x10, 0x87,
|
||||
0x8c, 0x07, 0x59, 0xa2, 0x5e, 0x2c, 0x34, 0xbb, 0x99, 0x42, 0x35, 0xc0, 0x92, 0xc4, 0x38, 0x96,
|
||||
0x79, 0xbe, 0x36, 0x23, 0x15, 0x7a, 0x2a, 0x7c, 0x91, 0x26, 0x84, 0x67, 0x61, 0xad, 0x51, 0xb1,
|
||||
0xa7, 0x86, 0x2a, 0x95, 0x8b, 0x21, 0x5e, 0xfb, 0xe4, 0xfe, 0xd8, 0xbd, 0x49, 0xd1, 0x6d, 0x23,
|
||||
0xce, 0x7d, 0xbb, 0x8f, 0x60, 0x71, 0x9b, 0x0a, 0xb9, 0xcb, 0x42, 0xda, 0x1f, 0x9d, 0xfb, 0xc6,
|
||||
0x71, 0x3f, 0xb7, 0x00, 0x4d, 0xfa, 0xc9, 0xfe, 0x92, 0x8c, 0x2b, 0x06, 0xeb, 0xf4, 0x15, 0xc3,
|
||||
0x4d, 0x68, 0x25, 0xda, 0x8d, 0x4f, 0xe3, 0x7d, 0x96, 0x47, 0xaf, 0x69, 0x64, 0x0a, 0x5b, 0x81,
|
||||
0xae, 0x03, 0x28, 0x30, 0x7d, 0xce, 0x42, 0x62, 0x82, 0xd7, 0xf0, 0x1a, 0x4a, 0xe2, 0x29, 0x81,
|
||||
0x3b, 0x80, 0x2b, 0x7b, 0x43, 0x76, 0xb8, 0xc1, 0xe2, 0x7d, 0x3a, 0x48, 0x39, 0x56, 0x84, 0x7e,
|
||||
0x8b, 0xaf, 0x6f, 0x0e, 0xd4, 0x12, 0x2c, 0xd5, 0xb1, 0xce, 0x62, 0x94, 0x0f, 0xdd, 0x3f, 0x59,
|
||||
0xb0, 0x3c, 0xef, 0x4d, 0x6f, 0xb3, 0xfd, 0x4d, 0x58, 0xe8, 0x1b, 0x77, 0xc6, 0xdb, 0xe9, 0x7f,
|
||||
0x43, 0x4e, 0xcf, 0x73, 0x1f, 0x41, 0xd9, 0xc3, 0x92, 0xa0, 0xbb, 0x50, 0xe2, 0x52, 0xaf, 0xa0,
|
||||
0xbd, 0x76, 0xe3, 0x98, 0x64, 0xa5, 0x0c, 0x75, 0x67, 0x5d, 0xe2, 0x12, 0xb5, 0xc0, 0xe2, 0x7a,
|
||||
0xa7, 0x96, 0x67, 0xf1, 0x5b, 0x6b, 0xb0, 0x78, 0xe4, 0x73, 0x05, 0x6a, 0x41, 0xdd, 0x63, 0x87,
|
||||
0x0a, 0xa3, 0xa0, 0xf3, 0x1e, 0xba, 0x00, 0xcd, 0x0d, 0x16, 0xa6, 0x51, 0x6c, 0x04, 0xd6, 0xad,
|
||||
0xbf, 0x59, 0x50, 0xcf, 0x5d, 0xa2, 0x45, 0x58, 0xe8, 0x76, 0xb7, 0xc7, 0xff, 0x3e, 0x3a, 0xef,
|
||||
0xa1, 0x0e, 0xb4, 0xba, 0xdd, 0xed, 0xe2, 0xcb, 0x79, 0xc7, 0x52, 0x0e, 0xbb, 0xdd, 0x6d, 0x9d,
|
||||
0x33, 0x3b, 0xa5, 0x6c, 0xf4, 0x59, 0x98, 0x8a, 0x61, 0xc7, 0x2e, 0x1c, 0x44, 0x09, 0x36, 0x0e,
|
||||
0xca, 0x68, 0x01, 0x1a, 0xdd, 0x9d, 0x6d, 0xb3, 0xae, 0x4e, 0x25, 0x1b, 0x9a, 0xb2, 0xa9, 0x53,
|
||||
0x55, 0xeb, 0xe9, 0xee, 0x6c, 0xaf, 0xa7, 0xe1, 0x0b, 0x75, 0xfd, 0x76, 0x6a, 0x5a, 0xff, 0x74,
|
||||
0xdb, 0x74, 0x64, 0x9d, 0xba, 0x76, 0xff, 0x74, 0x5b, 0xf5, 0x88, 0xa3, 0x4e, 0x63, 0xfd, 0xc1,
|
||||
0xaf, 0x3e, 0x19, 0x50, 0x39, 0x4c, 0x7b, 0x0a, 0xd4, 0xbb, 0x06, 0x9f, 0x0f, 0x29, 0xcb, 0x9e,
|
||||
0xee, 0xe6, 0x18, 0xdd, 0xd5, 0x90, 0x15, 0xc3, 0xa4, 0xd7, 0xab, 0x6a, 0xc9, 0x47, 0xff, 0x0b,
|
||||
0x00, 0x00, 0xff, 0xff, 0xe5, 0x9b, 0x62, 0xbb, 0x4c, 0x1f, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -43,14 +43,15 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
AnnsFieldKey = "anns_field"
|
||||
TopKKey = "topk"
|
||||
NQKey = "nq"
|
||||
MetricTypeKey = "metric_type"
|
||||
SearchParamsKey = "params"
|
||||
RoundDecimalKey = "round_decimal"
|
||||
OffsetKey = "offset"
|
||||
LimitKey = "limit"
|
||||
IgnoreGrowingKey = "ignore_growing"
|
||||
AnnsFieldKey = "anns_field"
|
||||
TopKKey = "topk"
|
||||
NQKey = "nq"
|
||||
MetricTypeKey = "metric_type"
|
||||
SearchParamsKey = "params"
|
||||
RoundDecimalKey = "round_decimal"
|
||||
OffsetKey = "offset"
|
||||
LimitKey = "limit"
|
||||
|
||||
InsertTaskName = "InsertTask"
|
||||
CreateCollectionTaskName = "CreateCollectionTask"
|
||||
|
|
|
@ -2,6 +2,7 @@ package proxy
|
|||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
@ -225,6 +226,20 @@ func (t *queryTask) PreExecute(ctx context.Context) error {
|
|||
zap.Any("collectionName", collectionName),
|
||||
zap.Any("requestType", "query"))
|
||||
|
||||
//fetch search_growing from search param
|
||||
var ignoreGrowing bool
|
||||
for i, kv := range t.request.GetQueryParams() {
|
||||
if kv.GetKey() == IgnoreGrowingKey {
|
||||
ignoreGrowing, err = strconv.ParseBool(kv.Value)
|
||||
if err != nil {
|
||||
return errors.New("parse search growing failed")
|
||||
}
|
||||
t.request.QueryParams = append(t.request.GetQueryParams()[:i], t.request.GetQueryParams()[i+1:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
t.RetrieveRequest.IgnoreGrowing = ignoreGrowing
|
||||
|
||||
queryParams, err := parseQueryParams(t.request.GetQueryParams())
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -154,6 +154,12 @@ func TestQueryTask_all(t *testing.T) {
|
|||
},
|
||||
CollectionName: collectionName,
|
||||
Expr: expr,
|
||||
QueryParams: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: IgnoreGrowingKey,
|
||||
Value: "false",
|
||||
},
|
||||
},
|
||||
},
|
||||
qc: qc,
|
||||
shardMgr: mgr,
|
||||
|
|
|
@ -302,6 +302,20 @@ func (t *searchTask) PreExecute(ctx context.Context) error {
|
|||
log.Ctx(ctx).Debug("translate output fields",
|
||||
zap.Strings("output fields", t.request.GetOutputFields()))
|
||||
|
||||
//fetch search_growing from search param
|
||||
var ignoreGrowing bool
|
||||
for i, kv := range t.request.GetSearchParams() {
|
||||
if kv.GetKey() == IgnoreGrowingKey {
|
||||
ignoreGrowing, err = strconv.ParseBool(kv.GetValue())
|
||||
if err != nil {
|
||||
return errors.New("parse search growing failed")
|
||||
}
|
||||
t.request.SearchParams = append(t.request.GetSearchParams()[:i], t.request.GetSearchParams()[i+1:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
t.SearchRequest.IgnoreGrowing = ignoreGrowing
|
||||
|
||||
if t.request.GetDslType() == commonpb.DslType_BoolExprV1 {
|
||||
annsField, err := funcutil.GetAttrByKeyFromRepeatedKV(AnnsFieldKey, t.request.GetSearchParams())
|
||||
if err != nil {
|
||||
|
|
|
@ -110,9 +110,23 @@ func getValidSearchParams() []*commonpb.KeyValuePair {
|
|||
{
|
||||
Key: RoundDecimalKey,
|
||||
Value: "-1",
|
||||
},
|
||||
{
|
||||
Key: IgnoreGrowingKey,
|
||||
Value: "false",
|
||||
}}
|
||||
}
|
||||
|
||||
func getInvalidSearchParams(invalidName string) []*commonpb.KeyValuePair {
|
||||
kvs := getValidSearchParams()
|
||||
for _, kv := range kvs {
|
||||
if kv.GetKey() == invalidName {
|
||||
kv.Value = "invalid"
|
||||
}
|
||||
}
|
||||
return kvs
|
||||
}
|
||||
|
||||
func TestSearchTask_PreExecute(t *testing.T) {
|
||||
var err error
|
||||
|
||||
|
@ -186,6 +200,24 @@ func TestSearchTask_PreExecute(t *testing.T) {
|
|||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("invalid IgnoreGrowing param", func(t *testing.T) {
|
||||
collName := "test_invalid_param" + funcutil.GenRandomStr()
|
||||
createColl(t, collName, rc)
|
||||
collID, err := globalMetaCache.GetCollectionID(context.TODO(), collName)
|
||||
require.NoError(t, err)
|
||||
qc.EXPECT().ShowCollections(
|
||||
mock.Anything, mock.MatchedBy(func(req *querypb.ShowCollectionsRequest) bool { return req.CollectionIDs[0] == collID })).Return(&querypb.ShowCollectionsResponse{
|
||||
Status: &successStatus,
|
||||
CollectionIDs: []int64{collID},
|
||||
InMemoryPercentages: []int64{100},
|
||||
}, nil).Times(1)
|
||||
|
||||
task := getSearchTask(t, collName)
|
||||
task.request.SearchParams = getInvalidSearchParams(IgnoreGrowingKey)
|
||||
err = task.PreExecute(ctx)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("invalid collection name", func(t *testing.T) {
|
||||
task := getSearchTask(t, collectionName)
|
||||
createColl(t, collectionName, rc)
|
||||
|
|
|
@ -236,17 +236,15 @@ func (node *QueryNode) getStatisticsWithDmlChannel(ctx context.Context, req *que
|
|||
defer cancel()
|
||||
|
||||
var results []*internalpb.GetStatisticsResponse
|
||||
var streamingResult *internalpb.GetStatisticsResponse
|
||||
var errCluster error
|
||||
|
||||
withStreaming := func(ctx context.Context) error {
|
||||
withStreaming := func(ctx context.Context) (error, *internalpb.GetStatisticsResponse) {
|
||||
streamingTask := newStatistics(ctx, req, querypb.DataScope_Streaming, qs, waitCanDo)
|
||||
err := streamingTask.Execute(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
return err, nil
|
||||
}
|
||||
streamingResult = streamingTask.Ret
|
||||
return nil
|
||||
return nil, streamingTask.Ret
|
||||
}
|
||||
|
||||
// shard leader dispatches request to its shard cluster
|
||||
|
@ -263,7 +261,6 @@ func (node *QueryNode) getStatisticsWithDmlChannel(ctx context.Context, req *que
|
|||
tr.Elapse(fmt.Sprintf("start reduce statistic result, traceID = %s, fromSharedLeader = %t, vChannel = %s, segmentIDs = %v",
|
||||
traceID, req.GetFromShardLeader(), dmlChannel, req.GetSegmentIDs()))
|
||||
|
||||
results = append(results, streamingResult)
|
||||
ret, err := reduceStatisticResponse(results)
|
||||
if err != nil {
|
||||
failRet.Status.Reason = err.Error()
|
||||
|
@ -878,38 +875,17 @@ func (node *QueryNode) searchWithDmlChannel(ctx context.Context, req *querypb.Se
|
|||
|
||||
var (
|
||||
searchCtx, cancel = context.WithCancel(ctx)
|
||||
|
||||
results []*internalpb.SearchResults
|
||||
streamingResult *internalpb.SearchResults
|
||||
errCluster error
|
||||
results []*internalpb.SearchResults
|
||||
errCluster error
|
||||
)
|
||||
defer cancel()
|
||||
|
||||
withStreaming := func(ctx context.Context) error {
|
||||
streamingTask, err := newSearchTask(searchCtx, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
streamingTask.QS = qs
|
||||
streamingTask.DataScope = querypb.DataScope_Streaming
|
||||
err = node.scheduler.AddReadTask(searchCtx, streamingTask)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = streamingTask.WaitToFinish()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
metrics.QueryNodeSQLatencyInQueue.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.SearchLabel).Observe(float64(streamingTask.queueDur.Milliseconds()))
|
||||
metrics.QueryNodeReduceLatency.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.SearchLabel).Observe(float64(streamingTask.reduceDur.Milliseconds()))
|
||||
streamingResult = streamingTask.Ret
|
||||
return nil
|
||||
}
|
||||
|
||||
// shard leader dispatches request to its shard cluster
|
||||
results, errCluster = cluster.Search(searchCtx, req, withStreaming)
|
||||
var withStreamingFunc searchWithStreaming
|
||||
if !req.Req.IgnoreGrowing {
|
||||
withStreamingFunc = getSearchWithStreamingFunc(searchCtx, req, node, qs, nodeID)
|
||||
}
|
||||
results, errCluster = cluster.Search(searchCtx, req, withStreamingFunc)
|
||||
if errCluster != nil {
|
||||
log.Ctx(ctx).Warn("search shard cluster failed", zap.String("vChannel", dmlChannel), zap.Error(errCluster))
|
||||
failRet.Status.Reason = errCluster.Error()
|
||||
|
@ -918,7 +894,6 @@ func (node *QueryNode) searchWithDmlChannel(ctx context.Context, req *querypb.Se
|
|||
|
||||
tr.CtxElapse(ctx, fmt.Sprintf("do search done in shard cluster, vChannel = %s, segmentIDs = %v", dmlChannel, req.GetSegmentIDs()))
|
||||
|
||||
results = append(results, streamingResult)
|
||||
ret, err2 := reduceSearchResults(ctx, results, req.Req.GetNq(), req.Req.GetTopk(), req.Req.GetMetricType())
|
||||
if err2 != nil {
|
||||
failRet.Status.Reason = err2.Error()
|
||||
|
@ -1029,32 +1004,14 @@ func (node *QueryNode) queryWithDmlChannel(ctx context.Context, req *querypb.Que
|
|||
defer cancel()
|
||||
|
||||
var results []*internalpb.RetrieveResults
|
||||
var streamingResult *internalpb.RetrieveResults
|
||||
|
||||
withStreaming := func(ctx context.Context) error {
|
||||
streamingTask := newQueryTask(queryCtx, req)
|
||||
streamingTask.DataScope = querypb.DataScope_Streaming
|
||||
streamingTask.QS = qs
|
||||
err := node.scheduler.AddReadTask(queryCtx, streamingTask)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = streamingTask.WaitToFinish()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
metrics.QueryNodeSQLatencyInQueue.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.QueryLabel).Observe(float64(streamingTask.queueDur.Milliseconds()))
|
||||
metrics.QueryNodeReduceLatency.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.QueryLabel).Observe(float64(streamingTask.reduceDur.Milliseconds()))
|
||||
streamingResult = streamingTask.Ret
|
||||
return nil
|
||||
}
|
||||
|
||||
var errCluster error
|
||||
var withStreamingFunc queryWithStreaming
|
||||
|
||||
if !req.Req.IgnoreGrowing {
|
||||
withStreamingFunc = getQueryWithStreamingFunc(queryCtx, req, node, qs, nodeID)
|
||||
}
|
||||
// shard leader dispatches request to its shard cluster
|
||||
results, errCluster = cluster.Query(queryCtx, req, withStreaming)
|
||||
results, errCluster = cluster.Query(queryCtx, req, withStreamingFunc)
|
||||
if errCluster != nil {
|
||||
log.Ctx(ctx).Warn("failed to query cluster",
|
||||
zap.Int64("collectionID", req.Req.GetCollectionID()),
|
||||
|
@ -1066,7 +1023,6 @@ func (node *QueryNode) queryWithDmlChannel(ctx context.Context, req *querypb.Que
|
|||
tr.CtxElapse(ctx, fmt.Sprintf("start reduce query result, fromSharedLeader = %t, vChannel = %s, segmentIDs = %v",
|
||||
req.GetFromShardLeader(), dmlChannel, req.GetSegmentIDs()))
|
||||
|
||||
results = append(results, streamingResult)
|
||||
ret, err2 := mergeInternalRetrieveResultsAndFillIfEmpty(ctx, results, req.Req.GetLimit(), req.GetReq().GetOutputFieldsId(), qs.collection.Schema())
|
||||
if err2 != nil {
|
||||
failRet.Status.Reason = err2.Error()
|
||||
|
|
|
@ -789,6 +789,15 @@ func TestImpl_searchWithDmlChannel(t *testing.T) {
|
|||
DmlChannels: []string{defaultDMLChannel},
|
||||
}, defaultDMLChannel)
|
||||
assert.NoError(t, err)
|
||||
// search with ignore growing segment
|
||||
req.IgnoreGrowing = true
|
||||
_, err = node.searchWithDmlChannel(ctx, &queryPb.SearchRequest{
|
||||
Req: req,
|
||||
FromShardLeader: false,
|
||||
DmlChannels: []string{defaultDMLChannel},
|
||||
}, defaultDMLChannel)
|
||||
assert.NoError(t, err)
|
||||
req.IgnoreGrowing = false
|
||||
|
||||
// search for wrong dml channel
|
||||
_, err = node.searchWithDmlChannel(ctx, &queryPb.SearchRequest{
|
||||
|
@ -910,6 +919,16 @@ func TestImpl_queryWithDmlChannel(t *testing.T) {
|
|||
}, defaultDMLChannel)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// query with ignore growing
|
||||
req.IgnoreGrowing = true
|
||||
_, err = node.queryWithDmlChannel(ctx, &queryPb.QueryRequest{
|
||||
Req: req,
|
||||
FromShardLeader: false,
|
||||
DmlChannels: []string{defaultDMLChannel},
|
||||
}, defaultDMLChannel)
|
||||
assert.NoError(t, err)
|
||||
req.IgnoreGrowing = false
|
||||
|
||||
// query for wrong dml channel
|
||||
_, err = node.queryWithDmlChannel(ctx, &queryPb.QueryRequest{
|
||||
Req: req,
|
||||
|
|
|
@ -30,6 +30,7 @@ import (
|
|||
"github.com/milvus-io/milvus-proto/go-api/commonpb"
|
||||
"github.com/milvus-io/milvus/internal/common"
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
"github.com/milvus-io/milvus/internal/metrics"
|
||||
"github.com/milvus-io/milvus/internal/proto/internalpb"
|
||||
"github.com/milvus-io/milvus/internal/proto/querypb"
|
||||
"github.com/milvus-io/milvus/internal/util/funcutil"
|
||||
|
@ -126,7 +127,9 @@ type ShardSegmentDetector interface {
|
|||
type ShardNodeBuilder func(nodeID int64, addr string) shardQueryNode
|
||||
|
||||
// withStreaming function type to let search detects corresponding search streaming is done.
|
||||
type withStreaming func(ctx context.Context) error
|
||||
type searchWithStreaming func(ctx context.Context) (error, *internalpb.SearchResults)
|
||||
type queryWithStreaming func(ctx context.Context) (error, *internalpb.RetrieveResults)
|
||||
type getStatisticsWithStreaming func(ctx context.Context) (error, *internalpb.GetStatisticsResponse)
|
||||
|
||||
// ShardCluster maintains the ShardCluster information and perform shard level operations
|
||||
type ShardCluster struct {
|
||||
|
@ -824,7 +827,7 @@ func (sc *ShardCluster) segmentsOnline(segments []shardSegmentInfo) bool {
|
|||
}
|
||||
|
||||
// GetStatistics returns the statistics on the shard cluster.
|
||||
func (sc *ShardCluster) GetStatistics(ctx context.Context, req *querypb.GetStatisticsRequest, withStreaming withStreaming) ([]*internalpb.GetStatisticsResponse, error) {
|
||||
func (sc *ShardCluster) GetStatistics(ctx context.Context, req *querypb.GetStatisticsRequest, withStreaming getStatisticsWithStreaming) ([]*internalpb.GetStatisticsResponse, error) {
|
||||
if !sc.serviceable() {
|
||||
return nil, fmt.Errorf("ShardCluster for %s replicaID %d is not available", sc.vchannelName, sc.replicaID)
|
||||
}
|
||||
|
@ -854,7 +857,11 @@ func (sc *ShardCluster) GetStatistics(ctx context.Context, req *querypb.GetStati
|
|||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
streamErr := withStreaming(reqCtx)
|
||||
if withStreaming == nil {
|
||||
return
|
||||
}
|
||||
|
||||
streamErr, streamResult := withStreaming(reqCtx)
|
||||
resultMut.Lock()
|
||||
defer resultMut.Unlock()
|
||||
if streamErr != nil {
|
||||
|
@ -864,6 +871,9 @@ func (sc *ShardCluster) GetStatistics(ctx context.Context, req *querypb.GetStati
|
|||
err = fmt.Errorf("stream operation failed: %w", streamErr)
|
||||
}
|
||||
}
|
||||
if streamResult != nil {
|
||||
results = append(results, streamResult)
|
||||
}
|
||||
}()
|
||||
|
||||
// dispatch request to followers
|
||||
|
@ -907,7 +917,7 @@ func (sc *ShardCluster) GetStatistics(ctx context.Context, req *querypb.GetStati
|
|||
}
|
||||
|
||||
// Search preforms search operation on shard cluster.
|
||||
func (sc *ShardCluster) Search(ctx context.Context, req *querypb.SearchRequest, withStreaming withStreaming) ([]*internalpb.SearchResults, error) {
|
||||
func (sc *ShardCluster) Search(ctx context.Context, req *querypb.SearchRequest, withStreaming searchWithStreaming) ([]*internalpb.SearchResults, error) {
|
||||
log := log.Ctx(ctx)
|
||||
if !sc.serviceable() {
|
||||
err := WrapErrShardNotAvailable(sc.replicaID, sc.vchannelName)
|
||||
|
@ -946,8 +956,11 @@ func (sc *ShardCluster) Search(ctx context.Context, req *querypb.SearchRequest,
|
|||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
if withStreaming == nil {
|
||||
return
|
||||
}
|
||||
|
||||
streamErr := withStreaming(reqCtx)
|
||||
streamErr, streamResult := withStreaming(reqCtx)
|
||||
resultMut.Lock()
|
||||
defer resultMut.Unlock()
|
||||
if streamErr != nil {
|
||||
|
@ -956,6 +969,9 @@ func (sc *ShardCluster) Search(ctx context.Context, req *querypb.SearchRequest,
|
|||
}
|
||||
cancel()
|
||||
}
|
||||
if streamResult != nil {
|
||||
results = append(results, streamResult)
|
||||
}
|
||||
}()
|
||||
|
||||
// dispatch request to followers
|
||||
|
@ -1009,7 +1025,7 @@ func (sc *ShardCluster) Search(ctx context.Context, req *querypb.SearchRequest,
|
|||
}
|
||||
|
||||
// Query performs query operation on shard cluster.
|
||||
func (sc *ShardCluster) Query(ctx context.Context, req *querypb.QueryRequest, withStreaming withStreaming) ([]*internalpb.RetrieveResults, error) {
|
||||
func (sc *ShardCluster) Query(ctx context.Context, req *querypb.QueryRequest, withStreaming queryWithStreaming) ([]*internalpb.RetrieveResults, error) {
|
||||
if !sc.serviceable() {
|
||||
return nil, WrapErrShardNotAvailable(sc.replicaID, sc.vchannelName)
|
||||
}
|
||||
|
@ -1030,20 +1046,29 @@ func (sc *ShardCluster) Query(ctx context.Context, req *querypb.QueryRequest, wi
|
|||
|
||||
var err error
|
||||
var resultMut sync.Mutex
|
||||
|
||||
results := make([]*internalpb.RetrieveResults, 0, len(segAllocs)+1) // count(nodes) + 1(growing)
|
||||
|
||||
// detect corresponding streaming query is done
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
if withStreaming == nil {
|
||||
return
|
||||
}
|
||||
|
||||
streamErr := withStreaming(reqCtx)
|
||||
streamErr, streamResult := withStreaming(reqCtx)
|
||||
resultMut.Lock()
|
||||
defer resultMut.Unlock()
|
||||
if streamErr != nil {
|
||||
if err == nil {
|
||||
err = fmt.Errorf("stream operation failed: %w", streamErr)
|
||||
}
|
||||
cancel()
|
||||
}
|
||||
if streamResult != nil {
|
||||
results = append(results, streamResult)
|
||||
}
|
||||
}()
|
||||
|
||||
// dispatch request to followers
|
||||
|
@ -1098,3 +1123,49 @@ func (sc *ShardCluster) GetSegmentInfos() []shardSegmentInfo {
|
|||
func (sc *ShardCluster) getVersion() int64 {
|
||||
return sc.version
|
||||
}
|
||||
|
||||
func getSearchWithStreamingFunc(searchCtx context.Context, req *querypb.SearchRequest, node *QueryNode, qs *queryShard, nodeID int64) searchWithStreaming {
|
||||
return func(ctx context.Context) (error, *internalpb.SearchResults) {
|
||||
streamingTask, err := newSearchTask(searchCtx, req)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
streamingTask.QS = qs
|
||||
streamingTask.DataScope = querypb.DataScope_Streaming
|
||||
err = node.scheduler.AddReadTask(searchCtx, streamingTask)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
err = streamingTask.WaitToFinish()
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
metrics.QueryNodeSQLatencyInQueue.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.SearchLabel).Observe(float64(streamingTask.queueDur.Milliseconds()))
|
||||
metrics.QueryNodeReduceLatency.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.SearchLabel).Observe(float64(streamingTask.reduceDur.Milliseconds()))
|
||||
return nil, streamingTask.Ret
|
||||
}
|
||||
}
|
||||
|
||||
func getQueryWithStreamingFunc(queryCtx context.Context, req *querypb.QueryRequest, node *QueryNode, qs *queryShard, nodeID int64) queryWithStreaming {
|
||||
return func(ctx context.Context) (error, *internalpb.RetrieveResults) {
|
||||
streamingTask := newQueryTask(queryCtx, req)
|
||||
streamingTask.DataScope = querypb.DataScope_Streaming
|
||||
streamingTask.QS = qs
|
||||
err := node.scheduler.AddReadTask(queryCtx, streamingTask)
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
err = streamingTask.WaitToFinish()
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
metrics.QueryNodeSQLatencyInQueue.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.QueryLabel).Observe(float64(streamingTask.queueDur.Milliseconds()))
|
||||
metrics.QueryNodeReduceLatency.WithLabelValues(fmt.Sprint(nodeID),
|
||||
metrics.QueryLabel).Observe(float64(streamingTask.reduceDur.Milliseconds()))
|
||||
return nil, streamingTask.Ret
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1049,7 +1049,6 @@ func TestShardCluster_SyncSegments(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
var streamingDoNothing = func(context.Context) error { return nil }
|
||||
var streamingError = func(context.Context) error { return errors.New("mock streaming error") }
|
||||
|
||||
func TestShardCluster_Search(t *testing.T) {
|
||||
|
@ -1103,7 +1102,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
|
||||
_, err := sc.Search(ctx, &querypb.SearchRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1115,7 +1114,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
|
||||
_, err := sc.Search(ctx, &querypb.SearchRequest{
|
||||
DmlChannels: []string{vchannelName + "_suffix"},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1168,7 +1167,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, len(nodeEvents), len(result))
|
||||
})
|
||||
|
@ -1222,7 +1221,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, func(ctx context.Context) error { return errors.New("mocked") })
|
||||
}, func(ctx context.Context) (error, *internalpb.SearchResults) { return errors.New("mocked"), nil })
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1283,7 +1282,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1338,7 +1337,7 @@ func TestShardCluster_Search(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
@ -1401,7 +1400,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("query wrong channel", func(t *testing.T) {
|
||||
|
@ -1417,7 +1416,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName + "_suffix"},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("normal query", func(t *testing.T) {
|
||||
|
@ -1469,7 +1468,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, len(nodeEvents), len(result))
|
||||
})
|
||||
|
@ -1522,7 +1521,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, func(ctx context.Context) error { return errors.New("mocked") })
|
||||
}, func(ctx context.Context) (error, *internalpb.RetrieveResults) { return errors.New("mocked"), nil })
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1583,7 +1582,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("test meta error", func(t *testing.T) {
|
||||
|
@ -1639,7 +1638,7 @@ func TestShardCluster_Query(t *testing.T) {
|
|||
Base: &commonpb.MsgBase{},
|
||||
},
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1696,7 +1695,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
_, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1708,7 +1707,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
_, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName + "_suffix"},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1758,7 +1757,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
result, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, len(nodeEvents), len(result))
|
||||
})
|
||||
|
@ -1809,7 +1808,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
_, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, func(ctx context.Context) error { return errors.New("mocked") })
|
||||
}, func(ctx context.Context) (error, *internalpb.GetStatisticsResponse) { return errors.New("mocked"), nil })
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1868,7 +1867,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
_, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
|
@ -1919,7 +1918,7 @@ func TestShardCluster_GetStatistics(t *testing.T) {
|
|||
|
||||
_, err := sc.GetStatistics(ctx, &querypb.GetStatisticsRequest{
|
||||
DmlChannels: []string{vchannelName},
|
||||
}, streamingDoNothing)
|
||||
}, nil)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue