diff --git a/apis/docs/v1/docs.md b/apis/docs/v1/docs.md index f93e8153f4..24bf7ebea9 100644 --- a/apis/docs/v1/docs.md +++ b/apis/docs/v1/docs.md @@ -48,9 +48,6 @@ - [Object.Distance](#payload-v1-Object-Distance) - [Object.ID](#payload-v1-Object-ID) - [Object.IDs](#payload-v1-Object-IDs) - - [Object.List](#payload-v1-Object-List) - - [Object.List.Request](#payload-v1-Object-List-Request) - - [Object.List.Response](#payload-v1-Object-List-Response) - [Object.Location](#payload-v1-Object-Location) - [Object.Locations](#payload-v1-Object-Locations) - [Object.ReshapeVector](#payload-v1-Object-ReshapeVector) @@ -511,23 +508,6 @@ Represent multiple vector IDs. | ----- | ----------------- | -------- | ----------- | | ids | [string](#string) | repeated | | - - -### Object.List - - - -### Object.List.Request - - - -### Object.List.Response - -| Field | Type | Label | Description | -| ------ | ------------------------------------------ | ----- | ----------- | -| vector | [Object.Vector](#payload-v1-Object-Vector) | | | -| status | [google.rpc.Status](#google-rpc-Status) | | | - ### Object.Location @@ -1017,12 +997,11 @@ Upsert service provides ways to insert/update vectors. Object service provides ways to fetch indexed vectors. -| Method Name | Request Type | Response Type | Description | -| ---------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------- | -| Exists | [.payload.v1.Object.ID](#payload-v1-Object-ID) | [.payload.v1.Object.ID](#payload-v1-Object-ID) | A method to check whether a specified ID is indexed or not. | -| GetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | A method to fetch a vector. | -| StreamGetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) stream | [.payload.v1.Object.StreamVector](#payload-v1-Object-StreamVector) stream | A method to fetch vectors by bidirectional streaming. | -| StreamListObject | [.payload.v1.Object.List.Request](#payload-v1-Object-List-Request) | [.payload.v1.Object.List.Response](#payload-v1-Object-List-Response) stream | A method to get all the vectors with server streaming | +| Method Name | Request Type | Response Type | Description | +| --------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------- | +| Exists | [.payload.v1.Object.ID](#payload-v1-Object-ID) | [.payload.v1.Object.ID](#payload-v1-Object-ID) | A method to check whether a specified ID is indexed or not. | +| GetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | A method to fetch a vector. | +| StreamGetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) stream | [.payload.v1.Object.StreamVector](#payload-v1-Object-StreamVector) stream | A method to fetch vectors by bidirectional streaming. | diff --git a/apis/grpc/v1/payload/payload.pb.go b/apis/grpc/v1/payload/payload.pb.go index ca79c76467..710d65aced 100644 --- a/apis/grpc/v1/payload/payload.pb.go +++ b/apis/grpc/v1/payload/payload.pb.go @@ -3222,163 +3222,6 @@ func (x *Object_Locations) GetLocations() []*Object_Location { return nil } -type Object_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Object_List) Reset() { - *x = Object_List{} - if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Object_List) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Object_List) ProtoMessage() {} - -func (x *Object_List) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Object_List.ProtoReflect.Descriptor instead. -func (*Object_List) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{6, 14} -} - -type Object_List_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Object_List_Request) Reset() { - *x = Object_List_Request{} - if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Object_List_Request) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Object_List_Request) ProtoMessage() {} - -func (x *Object_List_Request) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Object_List_Request.ProtoReflect.Descriptor instead. -func (*Object_List_Request) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{6, 14, 0} -} - -type Object_List_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: - // - // *Object_List_Response_Vector - // *Object_List_Response_Status - Payload isObject_List_Response_Payload `protobuf_oneof:"payload"` -} - -func (x *Object_List_Response) Reset() { - *x = Object_List_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Object_List_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Object_List_Response) ProtoMessage() {} - -func (x *Object_List_Response) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Object_List_Response.ProtoReflect.Descriptor instead. -func (*Object_List_Response) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{6, 14, 1} -} - -func (m *Object_List_Response) GetPayload() isObject_List_Response_Payload { - if m != nil { - return m.Payload - } - return nil -} - -func (x *Object_List_Response) GetVector() *Object_Vector { - if x, ok := x.GetPayload().(*Object_List_Response_Vector); ok { - return x.Vector - } - return nil -} - -func (x *Object_List_Response) GetStatus() *status.Status { - if x, ok := x.GetPayload().(*Object_List_Response_Status); ok { - return x.Status - } - return nil -} - -type isObject_List_Response_Payload interface { - isObject_List_Response_Payload() -} - -type Object_List_Response_Vector struct { - Vector *Object_Vector `protobuf:"bytes,1,opt,name=vector,proto3,oneof"` -} - -type Object_List_Response_Status struct { - Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3,oneof"` -} - -func (*Object_List_Response_Vector) isObject_List_Response_Payload() {} - -func (*Object_List_Response_Status) isObject_List_Response_Payload() {} - // Represent the create index request. type Control_CreateIndexRequest struct { state protoimpl.MessageState @@ -3392,7 +3235,7 @@ type Control_CreateIndexRequest struct { func (x *Control_CreateIndexRequest) Reset() { *x = Control_CreateIndexRequest{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3405,7 +3248,7 @@ func (x *Control_CreateIndexRequest) String() string { func (*Control_CreateIndexRequest) ProtoMessage() {} func (x *Control_CreateIndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3445,7 +3288,7 @@ type Discoverer_Request struct { func (x *Discoverer_Request) Reset() { *x = Discoverer_Request{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3458,7 +3301,7 @@ func (x *Discoverer_Request) String() string { func (*Discoverer_Request) ProtoMessage() {} func (x *Discoverer_Request) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3505,7 +3348,7 @@ type Info_Index struct { func (x *Info_Index) Reset() { *x = Info_Index{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[60] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3518,7 +3361,7 @@ func (x *Info_Index) String() string { func (*Info_Index) ProtoMessage() {} func (x *Info_Index) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[60] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3559,7 +3402,7 @@ type Info_Pod struct { func (x *Info_Pod) Reset() { *x = Info_Pod{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[61] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3572,7 +3415,7 @@ func (x *Info_Pod) String() string { func (*Info_Pod) ProtoMessage() {} func (x *Info_Pod) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[61] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3660,7 +3503,7 @@ type Info_Node struct { func (x *Info_Node) Reset() { *x = Info_Node{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[62] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3673,7 +3516,7 @@ func (x *Info_Node) String() string { func (*Info_Node) ProtoMessage() {} func (x *Info_Node) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[62] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3748,7 +3591,7 @@ type Info_CPU struct { func (x *Info_CPU) Reset() { *x = Info_CPU{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[63] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3761,7 +3604,7 @@ func (x *Info_CPU) String() string { func (*Info_CPU) ProtoMessage() {} func (x *Info_CPU) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[63] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3815,7 +3658,7 @@ type Info_Memory struct { func (x *Info_Memory) Reset() { *x = Info_Memory{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[64] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3828,7 +3671,7 @@ func (x *Info_Memory) String() string { func (*Info_Memory) ProtoMessage() {} func (x *Info_Memory) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[64] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3878,7 +3721,7 @@ type Info_Pods struct { func (x *Info_Pods) Reset() { *x = Info_Pods{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[65] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3891,7 +3734,7 @@ func (x *Info_Pods) String() string { func (*Info_Pods) ProtoMessage() {} func (x *Info_Pods) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[65] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3927,7 +3770,7 @@ type Info_Nodes struct { func (x *Info_Nodes) Reset() { *x = Info_Nodes{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[66] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3940,7 +3783,7 @@ func (x *Info_Nodes) String() string { func (*Info_Nodes) ProtoMessage() {} func (x *Info_Nodes) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[66] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3975,7 +3818,7 @@ type Info_IPs struct { func (x *Info_IPs) Reset() { *x = Info_IPs{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[67] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3988,7 +3831,7 @@ func (x *Info_IPs) String() string { func (*Info_IPs) ProtoMessage() {} func (x *Info_IPs) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[67] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4030,7 +3873,7 @@ type Info_Index_Count struct { func (x *Info_Index_Count) Reset() { *x = Info_Index_Count{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[68] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4043,7 +3886,7 @@ func (x *Info_Index_Count) String() string { func (*Info_Index_Count) ProtoMessage() {} func (x *Info_Index_Count) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[68] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4097,7 +3940,7 @@ type Info_Index_UUID struct { func (x *Info_Index_UUID) Reset() { *x = Info_Index_UUID{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[69] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4110,7 +3953,7 @@ func (x *Info_Index_UUID) String() string { func (*Info_Index_UUID) ProtoMessage() {} func (x *Info_Index_UUID) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[69] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4138,7 +3981,7 @@ type Info_Index_UUID_Committed struct { func (x *Info_Index_UUID_Committed) Reset() { *x = Info_Index_UUID_Committed{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[70] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4151,7 +3994,7 @@ func (x *Info_Index_UUID_Committed) String() string { func (*Info_Index_UUID_Committed) ProtoMessage() {} func (x *Info_Index_UUID_Committed) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[70] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4186,7 +4029,7 @@ type Info_Index_UUID_Uncommitted struct { func (x *Info_Index_UUID_Uncommitted) Reset() { *x = Info_Index_UUID_Uncommitted{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[71] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4199,7 +4042,7 @@ func (x *Info_Index_UUID_Uncommitted) String() string { func (*Info_Index_UUID_Uncommitted) ProtoMessage() {} func (x *Info_Index_UUID_Uncommitted) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[71] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4470,7 +4313,7 @@ var file_apis_proto_v1_payload_payload_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xa8, 0x0a, 0x0a, 0x06, 0x4f, 0x62, 0x6a, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x9a, 0x09, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x75, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, @@ -4544,96 +4387,87 @@ var file_apis_proto_v1_payload_payload_proto_rawDesc = []byte{ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x09, - 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x78, 0x0a, 0x08, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0x3a, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, - 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, 0x0a, 0x0a, 0x44, 0x69, - 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, - 0x64, 0x65, 0x22, 0xe0, 0x07, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xca, 0x01, 0x0a, 0x05, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x75, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x4a, 0x0a, 0x04, - 0x55, 0x55, 0x49, 0x44, 0x1a, 0x1f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0x21, 0x0a, 0x0b, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0xef, 0x01, 0x0a, 0x03, 0x50, 0x6f, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, - 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x78, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, - 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, - 0x29, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x04, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x50, 0x6f, - 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x52, - 0x04, 0x50, 0x6f, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x1a, 0x4e, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x1a, 0x3a, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x1a, 0x3e, - 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x15, - 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x5a, - 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2e, 0x76, 0x61, 0x6c, 0x64, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, - 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x01, 0x5a, 0x2a, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x64, 0x61, 0x61, 0x73, - 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x1a, 0x3a, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, + 0x28, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, 0x0a, 0x0a, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x07, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x6f, 0x64, 0x65, 0x22, 0xe0, 0x07, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xca, 0x01, + 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x75, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, + 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x4a, + 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x1f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0x21, 0x0a, 0x0b, 0x55, 0x6e, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0xef, 0x01, 0x0a, 0x03, 0x50, + 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x78, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, + 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xe8, 0x01, 0x0a, + 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, + 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, + 0x50, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, + 0x73, 0x52, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x1a, 0x4e, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x1a, 0x3a, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x04, + 0x70, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, + 0x1a, 0x3e, 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x1a, 0x15, 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x42, 0x5a, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2e, 0x76, 0x61, + 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x01, + 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x64, 0x61, + 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x72, 0x70, + 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4649,7 +4483,7 @@ func file_apis_proto_v1_payload_payload_proto_rawDescGZIP() []byte { } var file_apis_proto_v1_payload_payload_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_apis_proto_v1_payload_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 72) +var file_apis_proto_v1_payload_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_apis_proto_v1_payload_payload_proto_goTypes = []interface{}{ (Search_AggregationAlgorithm)(0), // 0: payload.v1.Search.AggregationAlgorithm (*Search)(nil), // 1: payload.v1.Search @@ -4707,24 +4541,21 @@ var file_apis_proto_v1_payload_payload_proto_goTypes = []interface{}{ (*Object_Location)(nil), // 53: payload.v1.Object.Location (*Object_StreamLocation)(nil), // 54: payload.v1.Object.StreamLocation (*Object_Locations)(nil), // 55: payload.v1.Object.Locations - (*Object_List)(nil), // 56: payload.v1.Object.List - (*Object_List_Request)(nil), // 57: payload.v1.Object.List.Request - (*Object_List_Response)(nil), // 58: payload.v1.Object.List.Response - (*Control_CreateIndexRequest)(nil), // 59: payload.v1.Control.CreateIndexRequest - (*Discoverer_Request)(nil), // 60: payload.v1.Discoverer.Request - (*Info_Index)(nil), // 61: payload.v1.Info.Index - (*Info_Pod)(nil), // 62: payload.v1.Info.Pod - (*Info_Node)(nil), // 63: payload.v1.Info.Node - (*Info_CPU)(nil), // 64: payload.v1.Info.CPU - (*Info_Memory)(nil), // 65: payload.v1.Info.Memory - (*Info_Pods)(nil), // 66: payload.v1.Info.Pods - (*Info_Nodes)(nil), // 67: payload.v1.Info.Nodes - (*Info_IPs)(nil), // 68: payload.v1.Info.IPs - (*Info_Index_Count)(nil), // 69: payload.v1.Info.Index.Count - (*Info_Index_UUID)(nil), // 70: payload.v1.Info.Index.UUID - (*Info_Index_UUID_Committed)(nil), // 71: payload.v1.Info.Index.UUID.Committed - (*Info_Index_UUID_Uncommitted)(nil), // 72: payload.v1.Info.Index.UUID.Uncommitted - (*status.Status)(nil), // 73: google.rpc.Status + (*Control_CreateIndexRequest)(nil), // 56: payload.v1.Control.CreateIndexRequest + (*Discoverer_Request)(nil), // 57: payload.v1.Discoverer.Request + (*Info_Index)(nil), // 58: payload.v1.Info.Index + (*Info_Pod)(nil), // 59: payload.v1.Info.Pod + (*Info_Node)(nil), // 60: payload.v1.Info.Node + (*Info_CPU)(nil), // 61: payload.v1.Info.CPU + (*Info_Memory)(nil), // 62: payload.v1.Info.Memory + (*Info_Pods)(nil), // 63: payload.v1.Info.Pods + (*Info_Nodes)(nil), // 64: payload.v1.Info.Nodes + (*Info_IPs)(nil), // 65: payload.v1.Info.IPs + (*Info_Index_Count)(nil), // 66: payload.v1.Info.Index.Count + (*Info_Index_UUID)(nil), // 67: payload.v1.Info.Index.UUID + (*Info_Index_UUID_Committed)(nil), // 68: payload.v1.Info.Index.UUID.Committed + (*Info_Index_UUID_Uncommitted)(nil), // 69: payload.v1.Info.Index.UUID.Uncommitted + (*status.Status)(nil), // 70: google.rpc.Status } var file_apis_proto_v1_payload_payload_proto_depIdxs = []int32{ 18, // 0: payload.v1.Search.Request.config:type_name -> payload.v1.Search.Config @@ -4740,7 +4571,7 @@ var file_apis_proto_v1_payload_payload_proto_depIdxs = []int32{ 43, // 10: payload.v1.Search.Response.results:type_name -> payload.v1.Object.Distance 19, // 11: payload.v1.Search.Responses.responses:type_name -> payload.v1.Search.Response 19, // 12: payload.v1.Search.StreamResponse.response:type_name -> payload.v1.Search.Response - 73, // 13: payload.v1.Search.StreamResponse.status:type_name -> google.rpc.Status + 70, // 13: payload.v1.Search.StreamResponse.status:type_name -> google.rpc.Status 22, // 14: payload.v1.Filter.Config.targets:type_name -> payload.v1.Filter.Target 47, // 15: payload.v1.Insert.Request.vector:type_name -> payload.v1.Object.Vector 28, // 16: payload.v1.Insert.Request.config:type_name -> payload.v1.Insert.Config @@ -4772,30 +4603,28 @@ var file_apis_proto_v1_payload_payload_proto_depIdxs = []int32{ 45, // 42: payload.v1.Object.VectorRequest.id:type_name -> payload.v1.Object.ID 23, // 43: payload.v1.Object.VectorRequest.filters:type_name -> payload.v1.Filter.Config 43, // 44: payload.v1.Object.StreamDistance.distance:type_name -> payload.v1.Object.Distance - 73, // 45: payload.v1.Object.StreamDistance.status:type_name -> google.rpc.Status + 70, // 45: payload.v1.Object.StreamDistance.status:type_name -> google.rpc.Status 47, // 46: payload.v1.Object.Vectors.vectors:type_name -> payload.v1.Object.Vector 47, // 47: payload.v1.Object.StreamVector.vector:type_name -> payload.v1.Object.Vector - 73, // 48: payload.v1.Object.StreamVector.status:type_name -> google.rpc.Status + 70, // 48: payload.v1.Object.StreamVector.status:type_name -> google.rpc.Status 51, // 49: payload.v1.Object.StreamBlob.blob:type_name -> payload.v1.Object.Blob - 73, // 50: payload.v1.Object.StreamBlob.status:type_name -> google.rpc.Status + 70, // 50: payload.v1.Object.StreamBlob.status:type_name -> google.rpc.Status 53, // 51: payload.v1.Object.StreamLocation.location:type_name -> payload.v1.Object.Location - 73, // 52: payload.v1.Object.StreamLocation.status:type_name -> google.rpc.Status + 70, // 52: payload.v1.Object.StreamLocation.status:type_name -> google.rpc.Status 53, // 53: payload.v1.Object.Locations.locations:type_name -> payload.v1.Object.Location - 47, // 54: payload.v1.Object.List.Response.vector:type_name -> payload.v1.Object.Vector - 73, // 55: payload.v1.Object.List.Response.status:type_name -> google.rpc.Status - 64, // 56: payload.v1.Info.Pod.cpu:type_name -> payload.v1.Info.CPU - 65, // 57: payload.v1.Info.Pod.memory:type_name -> payload.v1.Info.Memory - 63, // 58: payload.v1.Info.Pod.node:type_name -> payload.v1.Info.Node - 64, // 59: payload.v1.Info.Node.cpu:type_name -> payload.v1.Info.CPU - 65, // 60: payload.v1.Info.Node.memory:type_name -> payload.v1.Info.Memory - 66, // 61: payload.v1.Info.Node.Pods:type_name -> payload.v1.Info.Pods - 62, // 62: payload.v1.Info.Pods.pods:type_name -> payload.v1.Info.Pod - 63, // 63: payload.v1.Info.Nodes.nodes:type_name -> payload.v1.Info.Node - 64, // [64:64] is the sub-list for method output_type - 64, // [64:64] is the sub-list for method input_type - 64, // [64:64] is the sub-list for extension type_name - 64, // [64:64] is the sub-list for extension extendee - 0, // [0:64] is the sub-list for field type_name + 61, // 54: payload.v1.Info.Pod.cpu:type_name -> payload.v1.Info.CPU + 62, // 55: payload.v1.Info.Pod.memory:type_name -> payload.v1.Info.Memory + 60, // 56: payload.v1.Info.Pod.node:type_name -> payload.v1.Info.Node + 61, // 57: payload.v1.Info.Node.cpu:type_name -> payload.v1.Info.CPU + 62, // 58: payload.v1.Info.Node.memory:type_name -> payload.v1.Info.Memory + 63, // 59: payload.v1.Info.Node.Pods:type_name -> payload.v1.Info.Pods + 59, // 60: payload.v1.Info.Pods.pods:type_name -> payload.v1.Info.Pod + 60, // 61: payload.v1.Info.Nodes.nodes:type_name -> payload.v1.Info.Node + 62, // [62:62] is the sub-list for method output_type + 62, // [62:62] is the sub-list for method input_type + 62, // [62:62] is the sub-list for extension type_name + 62, // [62:62] is the sub-list for extension extendee + 0, // [0:62] is the sub-list for field type_name } func init() { file_apis_proto_v1_payload_payload_proto_init() } @@ -5465,42 +5294,6 @@ func file_apis_proto_v1_payload_payload_proto_init() { } } file_apis_proto_v1_payload_payload_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Object_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_apis_proto_v1_payload_payload_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Object_List_Request); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_apis_proto_v1_payload_payload_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Object_List_Response); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_apis_proto_v1_payload_payload_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Control_CreateIndexRequest); i { case 0: return &v.state @@ -5512,7 +5305,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Discoverer_Request); i { case 0: return &v.state @@ -5524,7 +5317,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index); i { case 0: return &v.state @@ -5536,7 +5329,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Pod); i { case 0: return &v.state @@ -5548,7 +5341,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Node); i { case 0: return &v.state @@ -5560,7 +5353,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_CPU); i { case 0: return &v.state @@ -5572,7 +5365,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Memory); i { case 0: return &v.state @@ -5584,7 +5377,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Pods); i { case 0: return &v.state @@ -5596,7 +5389,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Nodes); i { case 0: return &v.state @@ -5608,7 +5401,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_IPs); i { case 0: return &v.state @@ -5620,7 +5413,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_Count); i { case 0: return &v.state @@ -5632,7 +5425,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID); i { case 0: return &v.state @@ -5644,7 +5437,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID_Committed); i { case 0: return &v.state @@ -5656,7 +5449,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID_Uncommitted); i { case 0: return &v.state @@ -5689,17 +5482,13 @@ func file_apis_proto_v1_payload_payload_proto_init() { (*Object_StreamLocation_Location)(nil), (*Object_StreamLocation_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[57].OneofWrappers = []interface{}{ - (*Object_List_Response_Vector)(nil), - (*Object_List_Response_Status)(nil), - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_apis_proto_v1_payload_payload_proto_rawDesc, NumEnums: 1, - NumMessages: 72, + NumMessages: 69, NumExtensions: 0, NumServices: 0, }, diff --git a/apis/grpc/v1/payload/payload_vtproto.pb.go b/apis/grpc/v1/payload/payload_vtproto.pb.go index b0f8162a93..ac22ec9fba 100644 --- a/apis/grpc/v1/payload/payload_vtproto.pb.go +++ b/apis/grpc/v1/payload/payload_vtproto.pb.go @@ -1210,84 +1210,6 @@ func (m *Object_Locations) CloneMessageVT() proto.Message { return m.CloneVT() } -func (m *Object_List_Request) CloneVT() *Object_List_Request { - if m == nil { - return (*Object_List_Request)(nil) - } - r := &Object_List_Request{} - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Object_List_Request) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *Object_List_Response) CloneVT() *Object_List_Response { - if m == nil { - return (*Object_List_Response)(nil) - } - r := &Object_List_Response{} - if m.Payload != nil { - r.Payload = m.Payload.(interface { - CloneVT() isObject_List_Response_Payload - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Object_List_Response) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *Object_List_Response_Vector) CloneVT() isObject_List_Response_Payload { - if m == nil { - return (*Object_List_Response_Vector)(nil) - } - r := &Object_List_Response_Vector{ - Vector: m.Vector.CloneVT(), - } - return r -} - -func (m *Object_List_Response_Status) CloneVT() isObject_List_Response_Payload { - if m == nil { - return (*Object_List_Response_Status)(nil) - } - r := &Object_List_Response_Status{} - if rhs := m.Status; rhs != nil { - if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { - r.Status = vtpb.CloneVT() - } else { - r.Status = proto.Clone(rhs).(*status.Status) - } - } - return r -} - -func (m *Object_List) CloneVT() *Object_List { - if m == nil { - return (*Object_List)(nil) - } - r := &Object_List{} - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Object_List) CloneMessageVT() proto.Message { - return m.CloneVT() -} - func (m *Object) CloneVT() *Object { if m == nil { return (*Object)(nil) @@ -3259,120 +3181,6 @@ func (this *Object_Locations) EqualMessageVT(thatMsg proto.Message) bool { } return this.EqualVT(that) } -func (this *Object_List_Request) EqualVT(that *Object_List_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Object_List_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_List_Request) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *Object_List_Response) EqualVT(that *Object_List_Response) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Payload == nil && that.Payload != nil { - return false - } else if this.Payload != nil { - if that.Payload == nil { - return false - } - if !this.Payload.(interface { - EqualVT(isObject_List_Response_Payload) bool - }).EqualVT(that.Payload) { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Object_List_Response) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_List_Response) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *Object_List_Response_Vector) EqualVT(thatIface isObject_List_Response_Payload) bool { - that, ok := thatIface.(*Object_List_Response_Vector) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if p, q := this.Vector, that.Vector; p != q { - if p == nil { - p = &Object_Vector{} - } - if q == nil { - q = &Object_Vector{} - } - if !p.EqualVT(q) { - return false - } - } - return true -} - -func (this *Object_List_Response_Status) EqualVT(thatIface isObject_List_Response_Payload) bool { - that, ok := thatIface.(*Object_List_Response_Status) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if p, q := this.Status, that.Status; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} - } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { - return false - } - } else if !proto.Equal(p, q) { - return false - } - } - return true -} - -func (this *Object_List) EqualVT(that *Object_List) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Object_List) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_List) - if !ok { - return false - } - return this.EqualVT(that) -} func (this *Object) EqualVT(that *Object) bool { if this == that { return true @@ -6490,164 +6298,6 @@ func (m *Object_Locations) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Object_List_Request) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Object_List_Request) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_List_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *Object_List_Response) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Object_List_Response) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_List_Response) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Payload.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - return len(dAtA) - i, nil -} - -func (m *Object_List_Response_Vector) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_List_Response_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Vector != nil { - size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} -func (m *Object_List_Response_Status) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_List_Response_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Status != nil { - if vtmsg, ok := interface{}(m.Status).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Status) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- - dAtA[i] = 0x12 - } - return len(dAtA) - i, nil -} -func (m *Object_List) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Object_List) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_List) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - func (m *Object) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -8469,83 +8119,14 @@ func (m *Object_Location) SizeVT() (n int) { if len(m.Ips) > 0 { for _, s := range m.Ips { l = len(s) - n += 1 + l + sov(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *Object_StreamLocation) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if vtmsg, ok := m.Payload.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - n += len(m.unknownFields) - return n -} - -func (m *Object_StreamLocation_Location) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Location != nil { - l = m.Location.SizeVT() - n += 1 + l + sov(uint64(l)) - } - return n -} -func (m *Object_StreamLocation_Status) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Status != nil { - if size, ok := interface{}(m.Status).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(m.Status) - } - n += 1 + l + sov(uint64(l)) - } - return n -} -func (m *Object_Locations) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Locations) > 0 { - for _, e := range m.Locations { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *Object_List_Request) SizeVT() (n int) { - if m == nil { - return 0 + n += 1 + l + sov(uint64(l)) + } } - var l int - _ = l n += len(m.unknownFields) return n } -func (m *Object_List_Response) SizeVT() (n int) { +func (m *Object_StreamLocation) SizeVT() (n int) { if m == nil { return 0 } @@ -8558,19 +8139,19 @@ func (m *Object_List_Response) SizeVT() (n int) { return n } -func (m *Object_List_Response_Vector) SizeVT() (n int) { +func (m *Object_StreamLocation_Location) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Vector != nil { - l = m.Vector.SizeVT() + if m.Location != nil { + l = m.Location.SizeVT() n += 1 + l + sov(uint64(l)) } return n } -func (m *Object_List_Response_Status) SizeVT() (n int) { +func (m *Object_StreamLocation_Status) SizeVT() (n int) { if m == nil { return 0 } @@ -8588,12 +8169,18 @@ func (m *Object_List_Response_Status) SizeVT() (n int) { } return n } -func (m *Object_List) SizeVT() (n int) { +func (m *Object_Locations) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l + if len(m.Locations) > 0 { + for _, e := range m.Locations { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } n += len(m.unknownFields) return n } @@ -14488,257 +14075,6 @@ func (m *Object_Locations) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Object_List_Request) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Object_List_Request: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Object_List_Request: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Object_List_Response) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Object_List_Response: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Object_List_Response: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Vector", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.Payload.(*Object_List_Response_Vector); ok { - if err := oneof.Vector.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &Object_Vector{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Payload = &Object_List_Response_Vector{Vector: v} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.Payload.(*Object_List_Response_Status); ok { - if unmarshal, ok := interface{}(oneof.Status).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Status); err != nil { - return err - } - } - } else { - v := &status.Status{} - if unmarshal, ok := interface{}(v).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { - return err - } - } - m.Payload = &Object_List_Response_Status{Status: v} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Object_List) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Object_List: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Object_List: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *Object) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/apis/grpc/v1/vald/object.pb.go b/apis/grpc/v1/vald/object.pb.go index c428c3dc53..6c992f0345 100644 --- a/apis/grpc/v1/vald/object.pb.go +++ b/apis/grpc/v1/vald/object.pb.go @@ -49,8 +49,8 @@ var file_apis_proto_v1_vald_object_proto_rawDesc = []byte{ 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x84, - 0x03, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x45, 0x78, 0x69, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x95, + 0x02, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x1a, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, @@ -67,41 +67,30 @@ var file_apis_proto_v1_vald_object_proto_rawDesc = []byte{ 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x6c, - 0x69, 0x73, 0x74, 0x30, 0x01, 0x42, 0x53, 0x0a, 0x1a, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, - 0x61, 0x73, 0x2e, 0x76, 0x61, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x76, - 0x61, 0x6c, 0x64, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, - 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x64, - 0x61, 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x53, 0x0a, 0x1a, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, + 0x61, 0x61, 0x73, 0x2e, 0x76, 0x61, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x76, 0x61, 0x6c, 0x64, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, + 0x64, 0x61, 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, + 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var file_apis_proto_v1_vald_object_proto_goTypes = []interface{}{ (*payload.Object_ID)(nil), // 0: payload.v1.Object.ID (*payload.Object_VectorRequest)(nil), // 1: payload.v1.Object.VectorRequest - (*payload.Object_List_Request)(nil), // 2: payload.v1.Object.List.Request - (*payload.Object_Vector)(nil), // 3: payload.v1.Object.Vector - (*payload.Object_StreamVector)(nil), // 4: payload.v1.Object.StreamVector - (*payload.Object_List_Response)(nil), // 5: payload.v1.Object.List.Response + (*payload.Object_Vector)(nil), // 2: payload.v1.Object.Vector + (*payload.Object_StreamVector)(nil), // 3: payload.v1.Object.StreamVector } var file_apis_proto_v1_vald_object_proto_depIdxs = []int32{ 0, // 0: vald.v1.Object.Exists:input_type -> payload.v1.Object.ID 1, // 1: vald.v1.Object.GetObject:input_type -> payload.v1.Object.VectorRequest 1, // 2: vald.v1.Object.StreamGetObject:input_type -> payload.v1.Object.VectorRequest - 2, // 3: vald.v1.Object.StreamListObject:input_type -> payload.v1.Object.List.Request - 0, // 4: vald.v1.Object.Exists:output_type -> payload.v1.Object.ID - 3, // 5: vald.v1.Object.GetObject:output_type -> payload.v1.Object.Vector - 4, // 6: vald.v1.Object.StreamGetObject:output_type -> payload.v1.Object.StreamVector - 5, // 7: vald.v1.Object.StreamListObject:output_type -> payload.v1.Object.List.Response - 4, // [4:8] is the sub-list for method output_type - 0, // [0:4] is the sub-list for method input_type + 0, // 3: vald.v1.Object.Exists:output_type -> payload.v1.Object.ID + 2, // 4: vald.v1.Object.GetObject:output_type -> payload.v1.Object.Vector + 3, // 5: vald.v1.Object.StreamGetObject:output_type -> payload.v1.Object.StreamVector + 3, // [3:6] is the sub-list for method output_type + 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/apis/grpc/v1/vald/object_vtproto.pb.go b/apis/grpc/v1/vald/object_vtproto.pb.go index d1db823e27..73e5f067f3 100644 --- a/apis/grpc/v1/vald/object_vtproto.pb.go +++ b/apis/grpc/v1/vald/object_vtproto.pb.go @@ -48,8 +48,6 @@ type ObjectClient interface { GetObject(ctx context.Context, in *payload.Object_VectorRequest, opts ...grpc.CallOption) (*payload.Object_Vector, error) // A method to fetch vectors by bidirectional streaming. StreamGetObject(ctx context.Context, opts ...grpc.CallOption) (Object_StreamGetObjectClient, error) - // A method to get all the vectors with server streaming - StreamListObject(ctx context.Context, in *payload.Object_List_Request, opts ...grpc.CallOption) (Object_StreamListObjectClient, error) } type objectClient struct { @@ -109,38 +107,6 @@ func (x *objectStreamGetObjectClient) Recv() (*payload.Object_StreamVector, erro return m, nil } -func (c *objectClient) StreamListObject(ctx context.Context, in *payload.Object_List_Request, opts ...grpc.CallOption) (Object_StreamListObjectClient, error) { - stream, err := c.cc.NewStream(ctx, &Object_ServiceDesc.Streams[1], "/vald.v1.Object/StreamListObject", opts...) - if err != nil { - return nil, err - } - x := &objectStreamListObjectClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Object_StreamListObjectClient interface { - Recv() (*payload.Object_List_Response, error) - grpc.ClientStream -} - -type objectStreamListObjectClient struct { - grpc.ClientStream -} - -func (x *objectStreamListObjectClient) Recv() (*payload.Object_List_Response, error) { - m := new(payload.Object_List_Response) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - // ObjectServer is the server API for Object service. // All implementations must embed UnimplementedObjectServer // for forward compatibility @@ -151,8 +117,6 @@ type ObjectServer interface { GetObject(context.Context, *payload.Object_VectorRequest) (*payload.Object_Vector, error) // A method to fetch vectors by bidirectional streaming. StreamGetObject(Object_StreamGetObjectServer) error - // A method to get all the vectors with server streaming - StreamListObject(*payload.Object_List_Request, Object_StreamListObjectServer) error mustEmbedUnimplementedObjectServer() } @@ -169,9 +133,6 @@ func (UnimplementedObjectServer) GetObject(context.Context, *payload.Object_Vect func (UnimplementedObjectServer) StreamGetObject(Object_StreamGetObjectServer) error { return status.Errorf(codes.Unimplemented, "method StreamGetObject not implemented") } -func (UnimplementedObjectServer) StreamListObject(*payload.Object_List_Request, Object_StreamListObjectServer) error { - return status.Errorf(codes.Unimplemented, "method StreamListObject not implemented") -} func (UnimplementedObjectServer) mustEmbedUnimplementedObjectServer() {} // UnsafeObjectServer may be embedded to opt out of forward compatibility for this service. @@ -247,27 +208,6 @@ func (x *objectStreamGetObjectServer) Recv() (*payload.Object_VectorRequest, err return m, nil } -func _Object_StreamListObject_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(payload.Object_List_Request) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ObjectServer).StreamListObject(m, &objectStreamListObjectServer{stream}) -} - -type Object_StreamListObjectServer interface { - Send(*payload.Object_List_Response) error - grpc.ServerStream -} - -type objectStreamListObjectServer struct { - grpc.ServerStream -} - -func (x *objectStreamListObjectServer) Send(m *payload.Object_List_Response) error { - return x.ServerStream.SendMsg(m) -} - // Object_ServiceDesc is the grpc.ServiceDesc for Object service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -291,11 +231,6 @@ var Object_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, ClientStreams: true, }, - { - StreamName: "StreamListObject", - Handler: _Object_StreamListObject_Handler, - ServerStreams: true, - }, }, Metadata: "apis/proto/v1/vald/object.proto", } diff --git a/apis/grpc/v1/vald/vald.go b/apis/grpc/v1/vald/vald.go index ff343ec61b..01c12f8666 100644 --- a/apis/grpc/v1/vald/vald.go +++ b/apis/grpc/v1/vald/vald.go @@ -120,10 +120,9 @@ const ( StreamRemoveRPCName = "StreamRemove" MultiRemoveRPCName = "MultiRemove" - ExistsRPCName = "Exists" - GetObjectRPCName = "GetObject" - StreamGetObjectRPCName = "StreamGetObject" - StreamListObjectRPCName = "StreamListObject" + ExistsRPCName = "Exists" + GetObjectRPCName = "GetObject" + StreamGetObjectRPCName = "StreamGetObject" ) type client struct { diff --git a/apis/proto/v1/payload/payload.proto b/apis/proto/v1/payload/payload.proto index dd0ebef729..574503f853 100644 --- a/apis/proto/v1/payload/payload.proto +++ b/apis/proto/v1/payload/payload.proto @@ -418,20 +418,6 @@ message Object { message Locations { repeated Location locations = 1; } - - // Represent the list object vector stream request and response. - message List { - message Request {} - - message Response { - oneof payload { - // The vector - Vector vector = 1; - // The RPC error status. - google.rpc.Status status = 2; - } - } - } } // Control related messages. diff --git a/apis/proto/v1/vald/object.proto b/apis/proto/v1/vald/object.proto index 8bb6e6c54c..f275e29096 100644 --- a/apis/proto/v1/vald/object.proto +++ b/apis/proto/v1/vald/object.proto @@ -40,9 +40,4 @@ service Object { // A method to fetch vectors by bidirectional streaming. rpc StreamGetObject(stream payload.v1.Object.VectorRequest) returns (stream payload.v1.Object.StreamVector) {} - - // A method to get all the vectors with server streaming - rpc StreamListObject(payload.v1.Object.List.Request) returns (stream payload.v1.Object.List.Response) { - option (google.api.http).get = "/object/list"; - } } diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json index 0e52e2800e..d98f15559e 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json @@ -77,7 +77,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" } }, "default": { @@ -340,13 +340,30 @@ "default": "Unknown", "title": "AggregationAlgorithm is enum of each aggregation algorithms" }, + "SearchResponse": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The unique request ID." + }, + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectDistance" + }, + "description": "Search results." + } + }, + "description": "Represent a search response." + }, "SearchResponses": { "type": "object", "properties": { "responses": { "type": "array", "items": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" }, "description": "Represent the multiple search response content." } @@ -357,7 +374,7 @@ "type": "object", "properties": { "response": { - "$ref": "#/definitions/v1SearchResponse", + "$ref": "#/definitions/SearchResponse", "description": "Represent the search response." }, "status": { @@ -613,23 +630,6 @@ }, "description": "Represent a search by binary object request." }, - "v1SearchResponse": { - "type": "object", - "properties": { - "requestId": { - "type": "string", - "description": "The unique request ID." - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/ObjectDistance" - }, - "description": "Search results." - } - }, - "description": "Represent a search response." - }, "v1UpdateConfig": { "type": "object", "properties": { diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json index 36dd578ab7..da1aa1cd14 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json @@ -36,36 +36,6 @@ "tags": ["Object"] } }, - "/object/list": { - "get": { - "summary": "A method to get all the vectors with server streaming", - "operationId": "Object_StreamListObject", - "responses": { - "200": { - "description": "A successful response.(streaming responses)", - "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/ObjectListResponse" - }, - "error": { - "$ref": "#/definitions/runtimeStreamError" - } - }, - "title": "Stream result of ObjectListResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/runtimeError" - } - } - }, - "tags": ["Object"] - } - }, "/object/{id.id}": { "get": { "summary": "A method to fetch a vector.", @@ -121,17 +91,6 @@ }, "description": "Represent the vector ID." }, - "ObjectListResponse": { - "type": "object", - "properties": { - "vector": { - "$ref": "#/definitions/ObjectVector" - }, - "status": { - "$ref": "#/definitions/rpcStatus" - } - } - }, "ObjectStreamVector": { "type": "object", "properties": { diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json index 9965724de9..4a193c0d84 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json @@ -15,7 +15,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" } }, "default": { @@ -46,7 +46,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" } }, "default": { @@ -139,7 +139,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" } }, "default": { @@ -170,7 +170,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" } }, "default": { @@ -326,13 +326,30 @@ }, "description": "Represent the multiple search by ID request." }, + "SearchResponse": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The unique request ID." + }, + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectDistance" + }, + "description": "Search results." + } + }, + "description": "Represent a search response." + }, "SearchResponses": { "type": "object", "properties": { "responses": { "type": "array", "items": { - "$ref": "#/definitions/v1SearchResponse" + "$ref": "#/definitions/SearchResponse" }, "description": "Represent the multiple search response content." } @@ -343,7 +360,7 @@ "type": "object", "properties": { "response": { - "$ref": "#/definitions/v1SearchResponse", + "$ref": "#/definitions/SearchResponse", "description": "Represent the search response." }, "status": { @@ -526,23 +543,6 @@ } }, "description": "Represent a search request." - }, - "v1SearchResponse": { - "type": "object", - "properties": { - "requestId": { - "type": "string", - "description": "The unique request ID." - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/ObjectDistance" - }, - "description": "Search results." - } - }, - "description": "Represent a search response." } } } diff --git a/go.mod b/go.mod index 38f9c817bc..7aa07867e1 100755 --- a/go.mod +++ b/go.mod @@ -480,7 +480,6 @@ require ( github.com/scylladb/go-reflectx v1.0.1 // indirect github.com/spf13/cobra v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/objx v0.5.0 // indirect github.com/xlab/treeprint v1.1.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1 // indirect diff --git a/internal/client/v1/client/vald/vald.go b/internal/client/v1/client/vald/vald.go index 4181102b5b..f26aa7a45d 100644 --- a/internal/client/v1/client/vald/vald.go +++ b/internal/client/v1/client/vald/vald.go @@ -621,25 +621,6 @@ func (c *client) StreamGetObject(ctx context.Context, opts ...grpc.CallOption) ( return res, nil } -func (c *client) StreamListObject(ctx context.Context, in *payload.Object_List_Request, opts ...grpc.CallOption) (res vald.Object_StreamListObjectClient, err error) { - ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/client/"+vald.StreamListObjectRPCName), apiName+"/"+vald.StreamListObjectRPCName) - defer func() { - if span != nil { - span.End() - } - }() - _, err = c.c.RoundRobin(ctx, func(ctx context.Context, - conn *grpc.ClientConn, - copts ...grpc.CallOption, - ) (interface{}, error) { - return vald.NewValdClient(conn).StreamListObject(ctx, in, append(copts, opts...)...) - }) - if err != nil { - return nil, err - } - return res, nil -} - func (*singleClient) Start(context.Context) (<-chan error, error) { return nil, nil } @@ -921,13 +902,3 @@ func (c *singleClient) StreamGetObject(ctx context.Context, opts ...grpc.CallOpt }() return c.vc.StreamGetObject(ctx, opts...) } - -func (c *singleClient) StreamListObject(ctx context.Context, in *payload.Object_List_Request, opts ...grpc.CallOption) (res vald.Object_StreamListObjectClient, err error) { - ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/singleClient/"+vald.StreamListObjectRPCName), apiName+"/"+vald.StreamListObjectRPCName) - defer func() { - if span != nil { - span.End() - } - }() - return c.vc.StreamListObject(ctx, in, opts...) -} diff --git a/internal/net/grpc/status/status.go b/internal/net/grpc/status/status.go index 7220779557..99ab7bcf1a 100644 --- a/internal/net/grpc/status/status.go +++ b/internal/net/grpc/status/status.go @@ -110,10 +110,6 @@ func WrapWithUnauthenticated(msg string, err error, details ...interface{}) erro return newStatus(codes.Unauthenticated, msg, err, details...).Err() } -func CreateWithNotFound(msg string, err error, details ...interface{}) *Status { - return newStatus(codes.NotFound, msg, err, details...) -} - func Error(code codes.Code, msg string) error { return status.Error(code, msg) } diff --git a/internal/net/grpc/stream.go b/internal/net/grpc/stream.go index 8ef34f82f3..dcafda62bb 100644 --- a/internal/net/grpc/stream.go +++ b/internal/net/grpc/stream.go @@ -43,14 +43,11 @@ type ( ) // BidirectionalStream represents gRPC bidirectional stream server handler. -// It receives messages from the stream, calls the function with the received message, and sends the returned message to the stream. -// It limits the number of concurrent calls to the function with the concurrency integer. -// It records errors and returns them as a single error. func BidirectionalStream[Q any, R any](ctx context.Context, stream ServerStream, concurrency int, f func(context.Context, *Q) (*R, error), ) (err error) { - ctx, span := trace.StartSpan(ctx, apiName+"/BidirectionalStream") + ctx, span := trace.StartSpan(stream.Context(), apiName+"/BidirectionalStream") defer func() { if span != nil { span.End() @@ -106,6 +103,7 @@ func BidirectionalStream[Q any, R any](ctx context.Context, stream ServerStream, log.Errorf("failed to receive stream message: %v", err) } return finalize() + } if data != nil { eg.Go(safety.RecoverWithoutPanicFunc(func() (err error) { diff --git a/internal/test/mock/grpc_testify_mock.go b/internal/test/mock/grpc_testify_mock.go deleted file mode 100644 index 1a6b5cdde6..0000000000 --- a/internal/test/mock/grpc_testify_mock.go +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (C) 2019-2023 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package mock - -import ( - "context" - - "github.com/stretchr/testify/mock" - "github.com/vdaas/vald/apis/grpc/v1/payload" - "google.golang.org/grpc/metadata" -) - -// ServerStreamTestifyMock is a testify mock struct for grpc.ServerStream. -// Define Send method on top of this for each specific usecases with your specific proto schema Go struct type. -type ServerStreamTestifyMock struct { - mock.Mock -} - -func (*ServerStreamTestifyMock) SendMsg(_ interface{}) error { - return nil -} - -func (*ServerStreamTestifyMock) SetHeader(metadata.MD) error { - return nil -} - -func (*ServerStreamTestifyMock) SendHeader(metadata.MD) error { - return nil -} - -func (*ServerStreamTestifyMock) SetTrailer(metadata.MD) { -} - -func (*ServerStreamTestifyMock) Context() context.Context { - return context.Background() -} - -func (*ServerStreamTestifyMock) SendMsgWithContext(_ context.Context, _ interface{}) error { - return nil -} - -func (*ServerStreamTestifyMock) RecvMsg(_ interface{}) error { - return nil -} - -// ListObjectStreamMock is a testify mock struct for ListObjectStream based on ServerStreamTestifyMock -type ListObjectStreamMock struct { - ServerStreamTestifyMock -} - -func (losm *ListObjectStreamMock) Send(res *payload.Object_List_Response) error { - args := losm.Called(res) - return args.Error(0) -} diff --git a/pkg/agent/core/ngt/handler/grpc/object.go b/pkg/agent/core/ngt/handler/grpc/object.go index b7571c3344..e5ec2331e9 100644 --- a/pkg/agent/core/ngt/handler/grpc/object.go +++ b/pkg/agent/core/ngt/handler/grpc/object.go @@ -16,7 +16,6 @@ package grpc import ( "context" "fmt" - "sync" "github.com/vdaas/vald/apis/grpc/v1/payload" "github.com/vdaas/vald/apis/grpc/v1/vald" @@ -199,76 +198,3 @@ func (s *server) StreamGetObject(stream vald.Object_StreamGetObjectServer) (err } return nil } - -func (s *server) StreamListObject(_ *payload.Object_List_Request, stream vald.Object_StreamListObjectServer) (err error) { - ctx, span := trace.StartSpan(stream.Context(), apiName+"/"+vald.StreamListObjectRPCName) - defer func() { - if span != nil { - span.End() - } - }() - - var ( - mu sync.Mutex - emu sync.RWMutex - errs = make([]error, 0, s.ngt.Len()) - emap = make(map[string]struct{}) - ) - s.ngt.ListObjectFunc(ctx, func(uuid string, _ uint32, _ int64) bool { - vec, ts, err := s.ngt.GetObject(uuid) - var res *payload.Object_List_Response - if err != nil { - st := status.CreateWithNotFound(fmt.Sprintf("failed to get object with uuid: %s", uuid), err) - res = &payload.Object_List_Response{ - Payload: &payload.Object_List_Response_Status{ - Status: st.Proto(), - }, - } - } else { - res = &payload.Object_List_Response{ - Payload: &payload.Object_List_Response_Vector{ - Vector: &payload.Object_Vector{ - Id: uuid, - Vector: vec, - Timestamp: ts, - }, - }, - } - } - - mu.Lock() - err = stream.Send(res) - mu.Unlock() - - if err != nil { - emu.RLock() - _, ok := emap[err.Error()] - emu.RUnlock() - if !ok { - emu.Lock() - errs = append(errs, err) - emap[err.Error()] = struct{}{} - emu.Unlock() - } - } - - // always return true to continue streaming and let the context cancel the Range when stream closes. - return true - }) - - if len(errs) != 0 { - // Register all the gRPC codes to the span. Doing this because ParseError cannot parse joined error. - if span != nil { - for _, e := range errs { - st, msg, err := status.ParseError(e, codes.Internal, "failed to parse StreamListObject final gRPC error response") - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, msg) - } - } - - // now join all the errors to return - return errors.Join(errs...) - } - return nil -} diff --git a/pkg/agent/core/ngt/handler/grpc/object_test.go b/pkg/agent/core/ngt/handler/grpc/object_test.go index edd5a044cf..f44cdb8b18 100644 --- a/pkg/agent/core/ngt/handler/grpc/object_test.go +++ b/pkg/agent/core/ngt/handler/grpc/object_test.go @@ -18,8 +18,6 @@ import ( "reflect" "testing" - tmock "github.com/stretchr/testify/mock" - "github.com/stretchr/testify/require" "github.com/vdaas/vald/apis/grpc/v1/payload" "github.com/vdaas/vald/internal/config" "github.com/vdaas/vald/internal/conv" @@ -31,7 +29,6 @@ import ( "github.com/vdaas/vald/internal/net/grpc/status" "github.com/vdaas/vald/internal/test/data/request" "github.com/vdaas/vald/internal/test/data/vector" - "github.com/vdaas/vald/internal/test/mock" "github.com/vdaas/vald/pkg/agent/core/ngt/service" ) @@ -136,7 +133,7 @@ func Test_server_Exists(t *testing.T) { - case 3.6: success exists with euc-jp ID from euc-jp index - case 4.1: success exists with 😀 - Decision Table Testing - - NONE + - NONE */ tests := []test{ { @@ -1188,155 +1185,6 @@ func Test_server_GetObject(t *testing.T) { } } -func Test_server_StreamGetObject(t *testing.T) { - t.Parallel() - - defaultConfig := config.NGT{ - Dimension: 100, - DistanceType: "l2", - ObjectType: "float", - BulkInsertChunkSize: 10, - CreationEdgeSize: 20, - SearchEdgeSize: 10, - EnableProactiveGC: false, - EnableCopyOnWrite: false, - KVSDB: &config.KVSDB{ - Concurrency: 10, - }, - BrokenIndexHistoryLimit: 1, - } - - setup := func(t *testing.T) (context.Context, Server) { - t.Helper() - ngt, err := service.New(&defaultConfig) - require.NoError(t, err) - - ctx := context.Background() - eg, ectx := errgroup.New(ctx) - opts := []Option{ - WithIP(net.LoadLocalIP()), - WithNGT(ngt), - WithErrGroup(eg), - } - s, err := New(opts...) - require.NoError(t, err) - - return ectx, s - } - - type test struct { - name string - testfunc func(t *testing.T) - } - - tests := []test{ - { - name: "returns multiple objects", - testfunc: func(t *testing.T) { - ectx, s := setup(t) - - // insert and create `num` index - num := 42 - req, err := request.GenMultiInsertReq(request.Float, vector.Gaussian, num, 100, &payload.Insert_Config{}) - require.NoError(t, err) - - _, err = s.MultiInsert(ectx, req) - require.NoError(t, err) - - _, err = s.CreateIndex(ectx, &payload.Control_CreateIndexRequest{ - PoolSize: uint32(len(req.Requests)), - }) - require.NoError(t, err) - - // Set mock and expectations - stream := mock.ListObjectStreamMock{} - stream.On("Send", tmock.Anything).Return(nil) - - // Call the method under test - err = s.StreamListObject(&payload.Object_List_Request{}, &stream) - require.NoError(t, err) - - // Check results - stream.AssertExpectations(t) - stream.AssertNumberOfCalls(t, "Send", num) - for _, req := range req.Requests { - stream.AssertCalled(t, "Send", tmock.MatchedBy(func(r *payload.Object_List_Response) bool { - vec := *r.GetVector() - wantVec := req.GetVector() - // Check every fields but timestamp - if vec.GetId() != wantVec.GetId() { - return false - } - if !reflect.DeepEqual(vec.GetVector(), wantVec.GetVector()) { - return false - } - return true - })) - } - }, - }, - { - name: "returns joined error when Send fails in the stream", - testfunc: func(t *testing.T) { - ectx, s := setup(t) - - // insert and create some index - req, err := request.GenMultiInsertReq(request.Float, vector.Gaussian, 2, 100, &payload.Insert_Config{}) - require.NoError(t, err) - - _, err = s.MultiInsert(ectx, req) - require.NoError(t, err) - - _, err = s.CreateIndex(ectx, &payload.Control_CreateIndexRequest{ - PoolSize: uint32(len(req.Requests)), - }) - require.NoError(t, err) - - // Set mock and expectations - stream := mock.ListObjectStreamMock{} - stream.On("Send", tmock.Anything).Return(status.New(codes.Unknown, "foo").Err()).Once() - stream.On("Send", tmock.Anything).Return(status.New(codes.Aborted, "bar").Err()) - - // Call the method under test - err = s.StreamListObject(&payload.Object_List_Request{}, &stream) - - // Check the errros are joined and its a gRPC error - require.ErrorContains(t, err, "foo") - require.ErrorContains(t, err, "bar") - _, ok := status.FromError(err) - require.True(t, ok, "err should be a gRPC error") - - stream.AssertExpectations(t) - }, - }, - { - name: "Send must not be called when there is no index", - testfunc: func(t *testing.T) { - _, s := setup(t) - - // Set mock and expectations - stream := mock.ListObjectStreamMock{} - stream.On("Send", tmock.Anything).Return(nil) - - // Call the method under test - err := s.StreamListObject(&payload.Object_List_Request{}, &stream) - require.NoError(t, err) - - // Check results - stream.AssertNotCalled(t, "Send", tmock.Anything) - }, - }, - } - - for _, tc := range tests { - test := tc - t.Run(test.name, func(tt *testing.T) { - tt.Parallel() - test.testfunc(tt) - }) - } -} - // NOT IMPLEMENTED BELOW // // func Test_server_StreamGetObject(t *testing.T) { diff --git a/pkg/agent/core/ngt/service/ngt.go b/pkg/agent/core/ngt/service/ngt.go index 60cbcd589d..dc4f54515d 100644 --- a/pkg/agent/core/ngt/service/ngt.go +++ b/pkg/agent/core/ngt/service/ngt.go @@ -67,7 +67,6 @@ type NGT interface { DeleteMultiple(uuids ...string) (err error) DeleteMultipleWithTime(uuids []string, t int64) (err error) GetObject(uuid string) (vec []float32, timestamp int64, err error) - ListObjectFunc(ctx context.Context, f func(uuid string, oid uint32, timestamp int64) bool) CreateIndex(ctx context.Context, poolSize uint32) (err error) SaveIndex(ctx context.Context) (err error) Exists(string) (uint32, bool) @@ -1715,9 +1714,3 @@ func (n *ngt) Close(ctx context.Context) (err error) { func (n *ngt) BrokenIndexCount() uint64 { return atomic.LoadUint64(&n.nobic) } - -// ListObjectFunc applies the input function on each index stored in the kvs. -// Use this function for performing something on each object with caring about the memory usage. -func (n *ngt) ListObjectFunc(ctx context.Context, f func(uuid string, oid uint32, ts int64) bool) { - n.kvs.Range(ctx, f) -}