diff --git a/Makefile.d/e2e.mk b/Makefile.d/e2e.mk index b2b3edb0d7..6fa678fa5f 100644 --- a/Makefile.d/e2e.mk +++ b/Makefile.d/e2e.mk @@ -59,11 +59,6 @@ e2e/upsert: e2e/remove: $(call run-e2e-crud-test,-run TestE2ERemoveOnly) -.PHONY: e2e/remove/timestamp -## run removeByTimestamp e2e -e2e/remove: - $(call run-e2e-crud-test,-run TestE2ERemoveByTimestampOnly) - .PHONY: e2e/insert/search ## run insert and search e2e e2e/insert/search: diff --git a/apis/docs/v1/docs.md b/apis/docs/v1/docs.md index dd7ce8d7d8..88740c7031 100644 --- a/apis/docs/v1/docs.md +++ b/apis/docs/v1/docs.md @@ -67,8 +67,6 @@ - [Remove.Config](#payload-v1-Remove-Config) - [Remove.MultiRequest](#payload-v1-Remove-MultiRequest) - [Remove.Request](#payload-v1-Remove-Request) - - [Remove.Timestamp](#payload-v1-Remove-Timestamp) - - [Remove.TimestampRequest](#payload-v1-Remove-TimestampRequest) - [Search](#payload-v1-Search) - [Search.Config](#payload-v1-Search-Config) - [Search.IDRequest](#payload-v1-Search-IDRequest) @@ -92,8 +90,6 @@ - [Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) - [Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) - [Upsert.Request](#payload-v1-Upsert-Request) - - - [Remove.Timestamp.Operator](#payload-v1-Remove-Timestamp-Operator) - [Search.AggregationAlgorithm](#payload-v1-Search-AggregationAlgorithm) - [apis/proto/v1/vald/filter.proto](#apis_proto_v1_vald_filter-proto) @@ -102,14 +98,14 @@ - [Insert](#vald-v1-Insert) - [apis/proto/v1/vald/object.proto](#apis_proto_v1_vald_object-proto) - [Object](#vald-v1-Object) +- [apis/proto/v1/vald/remove.proto](#apis_proto_v1_vald_remove-proto) + - [Remove](#vald-v1-Remove) - [apis/proto/v1/vald/search.proto](#apis_proto_v1_vald_search-proto) - [Search](#vald-v1-Search) - [apis/proto/v1/vald/update.proto](#apis_proto_v1_vald_update-proto) - [Update](#vald-v1-Update) - [apis/proto/v1/vald/upsert.proto](#apis_proto_v1_vald_upsert-proto) - [Upsert](#vald-v1-Upsert) -- [apis/proto/v1/vald/remove.proto](#apis_proto_v1_vald_remove-proto) - - [Remove](#vald-v1-Remove) - [Scalar Value Types](#scalar-value-types) @@ -698,25 +694,6 @@ Represent the remove request. | id | [Object.ID](#payload-v1-Object-ID) | | The object ID to be removed. | | config | [Remove.Config](#payload-v1-Remove-Config) | | The configuration of the remove request. | - - -### Remove.Timestamp - -| Field | Type | Label | Description | -| --------- | ------------------------------------------------------------------ | ----- | ------------------------- | -| timestamp | [int64](#int64) | | The timestamp. | -| operator | [Remove.Timestamp.Operator](#payload-v1-Remove-Timestamp-Operator) | | The conditional operator. | - - - -### Remove.TimestampRequest - -Represent the remove request based on timestamp. - -| Field | Type | Label | Description | -| ---------- | ------------------------------------------------ | -------- | ------------------------------------------------------------------ | -| timestamps | [Remove.Timestamp](#payload-v1-Remove-Timestamp) | repeated | Represent the multiple remove request contents based on timestamp. | - ### Search @@ -961,21 +938,6 @@ Represent the upsert request. | vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be upserted. | | config | [Upsert.Config](#payload-v1-Upsert-Config) | | The configuration of the upsert request. | - - -### Remove.Timestamp.Operator - -Operator is enum of each conditional operator. - -| Name | Number | Description | -| ---- | ------ | ----------- | -| Eq | 0 | | -| Ne | 1 | | -| Ge | 2 | | -| Gt | 3 | | -| Le | 4 | | -| Lt | 5 | | - ### Search.AggregationAlgorithm @@ -1054,6 +1016,24 @@ Object service provides ways to fetch indexed vectors. | 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 | + + +
+ +## apis/proto/v1/vald/remove.proto + + + +### Remove + +Remove service provides ways to remove indexed vectors. + +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| Remove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to remove an indexed vector. | +| StreamRemove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to remove multiple indexed vectors by bidirectional streaming. | +| MultiRemove | [.payload.v1.Remove.MultiRequest](#payload-v1-Remove-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to remove multiple indexed vectors in a single request. | + @@ -1117,25 +1097,6 @@ Upsert service provides ways to insert/update vectors. | StreamUpsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to insert/update multiple vectors by bidirectional streaming. | | MultiUpsert | [.payload.v1.Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert/update multiple vectors in a single request. | - - - - -## apis/proto/v1/vald/remove.proto - - - -### Remove - -Remove service provides ways to remove indexed vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| Remove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to remove an indexed vector. | -| RemoveByTimestamp | [.payload.v1.Remove.TimestampRequest](#payload-v1-Remove-TimestampRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to remove an indexed vector based on timestamp. | -| StreamRemove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to remove multiple indexed vectors by bidirectional streaming. | -| MultiRemove | [.payload.v1.Remove.MultiRequest](#payload-v1-Remove-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to remove multiple indexed vectors in a single request. | - ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | diff --git a/apis/grpc/v1/agent/core/agent.pb.go b/apis/grpc/v1/agent/core/agent.pb.go index 291244328e..ae1691e36a 100644 --- a/apis/grpc/v1/agent/core/agent.pb.go +++ b/apis/grpc/v1/agent/core/agent.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/agent/core/agent.proto package core diff --git a/apis/grpc/v1/agent/sidecar/sidecar.pb.go b/apis/grpc/v1/agent/sidecar/sidecar.pb.go index 3a92b92784..9020a64633 100644 --- a/apis/grpc/v1/agent/sidecar/sidecar.pb.go +++ b/apis/grpc/v1/agent/sidecar/sidecar.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/agent/sidecar/sidecar.proto package sidecar diff --git a/apis/grpc/v1/discoverer/discoverer.pb.go b/apis/grpc/v1/discoverer/discoverer.pb.go index e29c580273..c527903b89 100644 --- a/apis/grpc/v1/discoverer/discoverer.pb.go +++ b/apis/grpc/v1/discoverer/discoverer.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/discoverer/discoverer.proto package discoverer diff --git a/apis/grpc/v1/filter/egress/egress_filter.pb.go b/apis/grpc/v1/filter/egress/egress_filter.pb.go index 4445aaf6b3..819bde27fb 100644 --- a/apis/grpc/v1/filter/egress/egress_filter.pb.go +++ b/apis/grpc/v1/filter/egress/egress_filter.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/filter/egress/egress_filter.proto package egress diff --git a/apis/grpc/v1/filter/ingress/ingress_filter.pb.go b/apis/grpc/v1/filter/ingress/ingress_filter.pb.go index 31cebbe940..7750c68845 100644 --- a/apis/grpc/v1/filter/ingress/ingress_filter.pb.go +++ b/apis/grpc/v1/filter/ingress/ingress_filter.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/filter/ingress/ingress_filter.proto package ingress diff --git a/apis/grpc/v1/manager/index/index_manager.pb.go b/apis/grpc/v1/manager/index/index_manager.pb.go index 9635ee401a..02d723546e 100644 --- a/apis/grpc/v1/manager/index/index_manager.pb.go +++ b/apis/grpc/v1/manager/index/index_manager.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/manager/index/index_manager.proto package index diff --git a/apis/grpc/v1/payload/payload.pb.go b/apis/grpc/v1/payload/payload.pb.go index 89f77a395f..5dd6599ac3 100644 --- a/apis/grpc/v1/payload/payload.pb.go +++ b/apis/grpc/v1/payload/payload.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/payload/payload.proto package payload @@ -95,65 +95,6 @@ func (Search_AggregationAlgorithm) EnumDescriptor() ([]byte, []int) { return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{0, 0} } -// Operator is enum of each conditional operator. -type Remove_Timestamp_Operator int32 - -const ( - Remove_Timestamp_Eq Remove_Timestamp_Operator = 0 - Remove_Timestamp_Ne Remove_Timestamp_Operator = 1 - Remove_Timestamp_Ge Remove_Timestamp_Operator = 2 - Remove_Timestamp_Gt Remove_Timestamp_Operator = 3 - Remove_Timestamp_Le Remove_Timestamp_Operator = 4 - Remove_Timestamp_Lt Remove_Timestamp_Operator = 5 -) - -// Enum value maps for Remove_Timestamp_Operator. -var ( - Remove_Timestamp_Operator_name = map[int32]string{ - 0: "Eq", - 1: "Ne", - 2: "Ge", - 3: "Gt", - 4: "Le", - 5: "Lt", - } - Remove_Timestamp_Operator_value = map[string]int32{ - "Eq": 0, - "Ne": 1, - "Ge": 2, - "Gt": 3, - "Le": 4, - "Lt": 5, - } -) - -func (x Remove_Timestamp_Operator) Enum() *Remove_Timestamp_Operator { - p := new(Remove_Timestamp_Operator) - *p = x - return p -} - -func (x Remove_Timestamp_Operator) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Remove_Timestamp_Operator) Descriptor() protoreflect.EnumDescriptor { - return file_apis_proto_v1_payload_payload_proto_enumTypes[1].Descriptor() -} - -func (Remove_Timestamp_Operator) Type() protoreflect.EnumType { - return &file_apis_proto_v1_payload_payload_proto_enumTypes[1] -} - -func (x Remove_Timestamp_Operator) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Remove_Timestamp_Operator.Descriptor instead. -func (Remove_Timestamp_Operator) EnumDescriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{5, 3, 0} -} - // Search related messages. type Search struct { state protoimpl.MessageState @@ -2329,112 +2270,6 @@ func (x *Remove_MultiRequest) GetRequests() []*Remove_Request { return nil } -// Represent the remove request based on timestamp. -type Remove_TimestampRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Represent the multiple remove request contents based on timestamp. - Timestamps []*Remove_Timestamp `protobuf:"bytes,1,rep,name=timestamps,proto3" json:"timestamps,omitempty"` -} - -func (x *Remove_TimestampRequest) Reset() { - *x = Remove_TimestampRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Remove_TimestampRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Remove_TimestampRequest) ProtoMessage() {} - -func (x *Remove_TimestampRequest) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[40] - 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 Remove_TimestampRequest.ProtoReflect.Descriptor instead. -func (*Remove_TimestampRequest) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{5, 2} -} - -func (x *Remove_TimestampRequest) GetTimestamps() []*Remove_Timestamp { - if x != nil { - return x.Timestamps - } - return nil -} - -type Remove_Timestamp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The timestamp. - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // The conditional operator. - Operator Remove_Timestamp_Operator `protobuf:"varint,2,opt,name=operator,proto3,enum=payload.v1.Remove_Timestamp_Operator" json:"operator,omitempty"` -} - -func (x *Remove_Timestamp) Reset() { - *x = Remove_Timestamp{} - if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Remove_Timestamp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Remove_Timestamp) ProtoMessage() {} - -func (x *Remove_Timestamp) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[41] - 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 Remove_Timestamp.ProtoReflect.Descriptor instead. -func (*Remove_Timestamp) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{5, 3} -} - -func (x *Remove_Timestamp) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *Remove_Timestamp) GetOperator() Remove_Timestamp_Operator { - if x != nil { - return x.Operator - } - return Remove_Timestamp_Eq -} - // Represent the remove configuration. type Remove_Config struct { state protoimpl.MessageState @@ -2450,7 +2285,7 @@ type Remove_Config struct { func (x *Remove_Config) Reset() { *x = Remove_Config{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[42] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2463,7 +2298,7 @@ func (x *Remove_Config) String() string { func (*Remove_Config) ProtoMessage() {} func (x *Remove_Config) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[42] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2476,7 +2311,7 @@ func (x *Remove_Config) ProtoReflect() protoreflect.Message { // Deprecated: Use Remove_Config.ProtoReflect.Descriptor instead. func (*Remove_Config) Descriptor() ([]byte, []int) { - return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{5, 4} + return file_apis_proto_v1_payload_payload_proto_rawDescGZIP(), []int{5, 2} } func (x *Remove_Config) GetSkipStrictExistCheck() bool { @@ -2508,7 +2343,7 @@ type Object_VectorRequest struct { func (x *Object_VectorRequest) Reset() { *x = Object_VectorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[43] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2521,7 +2356,7 @@ func (x *Object_VectorRequest) String() string { func (*Object_VectorRequest) ProtoMessage() {} func (x *Object_VectorRequest) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[43] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2566,7 +2401,7 @@ type Object_Distance struct { func (x *Object_Distance) Reset() { *x = Object_Distance{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[44] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2579,7 +2414,7 @@ func (x *Object_Distance) String() string { func (*Object_Distance) ProtoMessage() {} func (x *Object_Distance) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[44] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2625,7 +2460,7 @@ type Object_StreamDistance struct { func (x *Object_StreamDistance) Reset() { *x = Object_StreamDistance{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[45] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2638,7 +2473,7 @@ func (x *Object_StreamDistance) String() string { func (*Object_StreamDistance) ProtoMessage() {} func (x *Object_StreamDistance) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[45] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2705,7 +2540,7 @@ type Object_ID struct { func (x *Object_ID) Reset() { *x = Object_ID{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[46] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2718,7 +2553,7 @@ func (x *Object_ID) String() string { func (*Object_ID) ProtoMessage() {} func (x *Object_ID) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[46] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2753,7 +2588,7 @@ type Object_IDs struct { func (x *Object_IDs) Reset() { *x = Object_IDs{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[47] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2766,7 +2601,7 @@ func (x *Object_IDs) String() string { func (*Object_IDs) ProtoMessage() {} func (x *Object_IDs) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[47] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2806,7 +2641,7 @@ type Object_Vector struct { func (x *Object_Vector) Reset() { *x = Object_Vector{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[48] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2819,7 +2654,7 @@ func (x *Object_Vector) String() string { func (*Object_Vector) ProtoMessage() {} func (x *Object_Vector) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[48] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2868,7 +2703,7 @@ type Object_Vectors struct { func (x *Object_Vectors) Reset() { *x = Object_Vectors{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[49] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2881,7 +2716,7 @@ func (x *Object_Vectors) String() string { func (*Object_Vectors) ProtoMessage() {} func (x *Object_Vectors) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[49] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2920,7 +2755,7 @@ type Object_StreamVector struct { func (x *Object_StreamVector) Reset() { *x = Object_StreamVector{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[50] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2933,7 +2768,7 @@ func (x *Object_StreamVector) String() string { func (*Object_StreamVector) ProtoMessage() {} func (x *Object_StreamVector) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[50] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3003,7 +2838,7 @@ type Object_ReshapeVector struct { func (x *Object_ReshapeVector) Reset() { *x = Object_ReshapeVector{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[51] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3016,7 +2851,7 @@ func (x *Object_ReshapeVector) String() string { func (*Object_ReshapeVector) ProtoMessage() {} func (x *Object_ReshapeVector) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[51] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3061,7 +2896,7 @@ type Object_Blob struct { func (x *Object_Blob) Reset() { *x = Object_Blob{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[52] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3074,7 +2909,7 @@ func (x *Object_Blob) String() string { func (*Object_Blob) ProtoMessage() {} func (x *Object_Blob) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[52] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3120,7 +2955,7 @@ type Object_StreamBlob struct { func (x *Object_StreamBlob) Reset() { *x = Object_StreamBlob{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[53] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3133,7 +2968,7 @@ func (x *Object_StreamBlob) String() string { func (*Object_StreamBlob) ProtoMessage() {} func (x *Object_StreamBlob) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[53] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3205,7 +3040,7 @@ type Object_Location struct { func (x *Object_Location) Reset() { *x = Object_Location{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[54] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3218,7 +3053,7 @@ func (x *Object_Location) String() string { func (*Object_Location) ProtoMessage() {} func (x *Object_Location) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[54] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3271,7 +3106,7 @@ type Object_StreamLocation struct { func (x *Object_StreamLocation) Reset() { *x = Object_StreamLocation{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3284,7 +3119,7 @@ func (x *Object_StreamLocation) String() string { func (*Object_StreamLocation) ProtoMessage() {} func (x *Object_StreamLocation) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3351,7 +3186,7 @@ type Object_Locations struct { func (x *Object_Locations) Reset() { *x = Object_Locations{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3364,7 +3199,7 @@ func (x *Object_Locations) String() string { func (*Object_Locations) ProtoMessage() {} func (x *Object_Locations) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3397,7 +3232,7 @@ type Object_List struct { func (x *Object_List) Reset() { *x = Object_List{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3410,7 +3245,7 @@ func (x *Object_List) String() string { func (*Object_List) ProtoMessage() {} func (x *Object_List) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] + 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 { @@ -3435,7 +3270,7 @@ type Object_List_Request struct { func (x *Object_List_Request) Reset() { *x = Object_List_Request{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3448,7 +3283,7 @@ func (x *Object_List_Request) String() string { func (*Object_List_Request) ProtoMessage() {} func (x *Object_List_Request) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] + 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 { @@ -3479,7 +3314,7 @@ type Object_List_Response struct { func (x *Object_List_Response) Reset() { *x = Object_List_Response{} if protoimpl.UnsafeEnabled { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3492,7 +3327,7 @@ func (x *Object_List_Response) String() string { func (*Object_List_Response) ProtoMessage() {} func (x *Object_List_Response) ProtoReflect() protoreflect.Message { - mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] + 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 { @@ -3560,7 +3395,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[60] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3573,7 +3408,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[60] + 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 { @@ -3613,7 +3448,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[61] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3626,7 +3461,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[61] + 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 { @@ -3673,7 +3508,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[62] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3686,7 +3521,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[62] + 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 { @@ -3727,7 +3562,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[63] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3740,7 +3575,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[63] + 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 { @@ -3828,7 +3663,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[64] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3841,7 +3676,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[64] + 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 { @@ -3916,7 +3751,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[65] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3929,7 +3764,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[65] + 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 { @@ -3983,7 +3818,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[66] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3996,7 +3831,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[66] + 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 { @@ -4046,7 +3881,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[67] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4059,7 +3894,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[67] + 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 { @@ -4095,7 +3930,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[68] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4108,7 +3943,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[68] + 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 { @@ -4143,7 +3978,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[69] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4156,7 +3991,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[69] + 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 { @@ -4198,7 +4033,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[70] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4211,7 +4046,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[70] + 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 { @@ -4265,7 +4100,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[71] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4278,7 +4113,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[71] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4306,7 +4141,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[72] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4319,7 +4154,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[72] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4354,7 +4189,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[73] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4367,7 +4202,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[73] + mi := &file_apis_proto_v1_payload_payload_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4621,7 +4456,7 @@ var file_apis_proto_v1_payload_payload_proto_rawDesc = []byte{ 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x22, 0x91, 0x04, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x63, 0x0a, 0x07, + 0x65, 0x22, 0x94, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x63, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 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, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, @@ -4632,191 +4467,176 @@ var file_apis_proto_v1_payload_payload_proto_rawDesc = []byte{ 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x10, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, - 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x09, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x08, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x71, 0x10, 0x00, 0x12, 0x06, - 0x0a, 0x02, 0x4e, 0x65, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x65, 0x10, 0x02, 0x12, 0x06, - 0x0a, 0x02, 0x47, 0x74, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x65, 0x10, 0x04, 0x12, 0x06, - 0x0a, 0x02, 0x4c, 0x74, 0x10, 0x05, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 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, 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, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, - 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 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, 0x1a, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x17, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x12, 0x10, 0x0a, 0x03, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x1a, 0x61, - 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x02, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, - 0x74, 0x6f, 0x72, 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, 0x1a, 0x3e, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, - 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x1a, 0x7c, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 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, 0x1a, - 0x3d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x1a, 0x37, - 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x74, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, - 0x62, 0x6c, 0x6f, 0x62, 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, 0x1a, 0x44, 0x0a, - 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, - 0x69, 0x70, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 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, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x1a, 0x46, 0x0a, 0x09, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x6f, 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, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, + 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, + 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, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, + 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 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, 0x1a, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x12, + 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x17, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, + 0x73, 0x1a, 0x61, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 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, 0x1a, 0x3e, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x33, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x52, 0x07, 0x76, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x7c, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 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, 0x1a, 0x3d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x68, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, + 0x65, 0x1a, 0x37, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x74, 0x0a, 0x0a, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x48, + 0x00, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 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, + 0x1a, 0x44, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 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, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 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, 0x1a, 0x46, 0x0a, + 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x6f, + 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, 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, + 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 ( @@ -4831,159 +4651,154 @@ func file_apis_proto_v1_payload_payload_proto_rawDescGZIP() []byte { return file_apis_proto_v1_payload_payload_proto_rawDescData } -var file_apis_proto_v1_payload_payload_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_apis_proto_v1_payload_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 74) +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_goTypes = []interface{}{ (Search_AggregationAlgorithm)(0), // 0: payload.v1.Search.AggregationAlgorithm - (Remove_Timestamp_Operator)(0), // 1: payload.v1.Remove.Timestamp.Operator - (*Search)(nil), // 2: payload.v1.Search - (*Filter)(nil), // 3: payload.v1.Filter - (*Insert)(nil), // 4: payload.v1.Insert - (*Update)(nil), // 5: payload.v1.Update - (*Upsert)(nil), // 6: payload.v1.Upsert - (*Remove)(nil), // 7: payload.v1.Remove - (*Object)(nil), // 8: payload.v1.Object - (*Control)(nil), // 9: payload.v1.Control - (*Discoverer)(nil), // 10: payload.v1.Discoverer - (*Info)(nil), // 11: payload.v1.Info - (*Empty)(nil), // 12: payload.v1.Empty - (*Search_Request)(nil), // 13: payload.v1.Search.Request - (*Search_MultiRequest)(nil), // 14: payload.v1.Search.MultiRequest - (*Search_IDRequest)(nil), // 15: payload.v1.Search.IDRequest - (*Search_MultiIDRequest)(nil), // 16: payload.v1.Search.MultiIDRequest - (*Search_ObjectRequest)(nil), // 17: payload.v1.Search.ObjectRequest - (*Search_MultiObjectRequest)(nil), // 18: payload.v1.Search.MultiObjectRequest - (*Search_Config)(nil), // 19: payload.v1.Search.Config - (*Search_Response)(nil), // 20: payload.v1.Search.Response - (*Search_Responses)(nil), // 21: payload.v1.Search.Responses - (*Search_StreamResponse)(nil), // 22: payload.v1.Search.StreamResponse - (*Filter_Target)(nil), // 23: payload.v1.Filter.Target - (*Filter_Config)(nil), // 24: payload.v1.Filter.Config - (*Insert_Request)(nil), // 25: payload.v1.Insert.Request - (*Insert_MultiRequest)(nil), // 26: payload.v1.Insert.MultiRequest - (*Insert_ObjectRequest)(nil), // 27: payload.v1.Insert.ObjectRequest - (*Insert_MultiObjectRequest)(nil), // 28: payload.v1.Insert.MultiObjectRequest - (*Insert_Config)(nil), // 29: payload.v1.Insert.Config - (*Update_Request)(nil), // 30: payload.v1.Update.Request - (*Update_MultiRequest)(nil), // 31: payload.v1.Update.MultiRequest - (*Update_ObjectRequest)(nil), // 32: payload.v1.Update.ObjectRequest - (*Update_MultiObjectRequest)(nil), // 33: payload.v1.Update.MultiObjectRequest - (*Update_Config)(nil), // 34: payload.v1.Update.Config - (*Upsert_Request)(nil), // 35: payload.v1.Upsert.Request - (*Upsert_MultiRequest)(nil), // 36: payload.v1.Upsert.MultiRequest - (*Upsert_ObjectRequest)(nil), // 37: payload.v1.Upsert.ObjectRequest - (*Upsert_MultiObjectRequest)(nil), // 38: payload.v1.Upsert.MultiObjectRequest - (*Upsert_Config)(nil), // 39: payload.v1.Upsert.Config - (*Remove_Request)(nil), // 40: payload.v1.Remove.Request - (*Remove_MultiRequest)(nil), // 41: payload.v1.Remove.MultiRequest - (*Remove_TimestampRequest)(nil), // 42: payload.v1.Remove.TimestampRequest - (*Remove_Timestamp)(nil), // 43: payload.v1.Remove.Timestamp - (*Remove_Config)(nil), // 44: payload.v1.Remove.Config - (*Object_VectorRequest)(nil), // 45: payload.v1.Object.VectorRequest - (*Object_Distance)(nil), // 46: payload.v1.Object.Distance - (*Object_StreamDistance)(nil), // 47: payload.v1.Object.StreamDistance - (*Object_ID)(nil), // 48: payload.v1.Object.ID - (*Object_IDs)(nil), // 49: payload.v1.Object.IDs - (*Object_Vector)(nil), // 50: payload.v1.Object.Vector - (*Object_Vectors)(nil), // 51: payload.v1.Object.Vectors - (*Object_StreamVector)(nil), // 52: payload.v1.Object.StreamVector - (*Object_ReshapeVector)(nil), // 53: payload.v1.Object.ReshapeVector - (*Object_Blob)(nil), // 54: payload.v1.Object.Blob - (*Object_StreamBlob)(nil), // 55: payload.v1.Object.StreamBlob - (*Object_Location)(nil), // 56: payload.v1.Object.Location - (*Object_StreamLocation)(nil), // 57: payload.v1.Object.StreamLocation - (*Object_Locations)(nil), // 58: payload.v1.Object.Locations - (*Object_List)(nil), // 59: payload.v1.Object.List - (*Object_List_Request)(nil), // 60: payload.v1.Object.List.Request - (*Object_List_Response)(nil), // 61: payload.v1.Object.List.Response - (*Control_CreateIndexRequest)(nil), // 62: payload.v1.Control.CreateIndexRequest - (*Discoverer_Request)(nil), // 63: payload.v1.Discoverer.Request - (*Info_Index)(nil), // 64: payload.v1.Info.Index - (*Info_Pod)(nil), // 65: payload.v1.Info.Pod - (*Info_Node)(nil), // 66: payload.v1.Info.Node - (*Info_CPU)(nil), // 67: payload.v1.Info.CPU - (*Info_Memory)(nil), // 68: payload.v1.Info.Memory - (*Info_Pods)(nil), // 69: payload.v1.Info.Pods - (*Info_Nodes)(nil), // 70: payload.v1.Info.Nodes - (*Info_IPs)(nil), // 71: payload.v1.Info.IPs - (*Info_Index_Count)(nil), // 72: payload.v1.Info.Index.Count - (*Info_Index_UUID)(nil), // 73: payload.v1.Info.Index.UUID - (*Info_Index_UUID_Committed)(nil), // 74: payload.v1.Info.Index.UUID.Committed - (*Info_Index_UUID_Uncommitted)(nil), // 75: payload.v1.Info.Index.UUID.Uncommitted - (*status.Status)(nil), // 76: google.rpc.Status + (*Search)(nil), // 1: payload.v1.Search + (*Filter)(nil), // 2: payload.v1.Filter + (*Insert)(nil), // 3: payload.v1.Insert + (*Update)(nil), // 4: payload.v1.Update + (*Upsert)(nil), // 5: payload.v1.Upsert + (*Remove)(nil), // 6: payload.v1.Remove + (*Object)(nil), // 7: payload.v1.Object + (*Control)(nil), // 8: payload.v1.Control + (*Discoverer)(nil), // 9: payload.v1.Discoverer + (*Info)(nil), // 10: payload.v1.Info + (*Empty)(nil), // 11: payload.v1.Empty + (*Search_Request)(nil), // 12: payload.v1.Search.Request + (*Search_MultiRequest)(nil), // 13: payload.v1.Search.MultiRequest + (*Search_IDRequest)(nil), // 14: payload.v1.Search.IDRequest + (*Search_MultiIDRequest)(nil), // 15: payload.v1.Search.MultiIDRequest + (*Search_ObjectRequest)(nil), // 16: payload.v1.Search.ObjectRequest + (*Search_MultiObjectRequest)(nil), // 17: payload.v1.Search.MultiObjectRequest + (*Search_Config)(nil), // 18: payload.v1.Search.Config + (*Search_Response)(nil), // 19: payload.v1.Search.Response + (*Search_Responses)(nil), // 20: payload.v1.Search.Responses + (*Search_StreamResponse)(nil), // 21: payload.v1.Search.StreamResponse + (*Filter_Target)(nil), // 22: payload.v1.Filter.Target + (*Filter_Config)(nil), // 23: payload.v1.Filter.Config + (*Insert_Request)(nil), // 24: payload.v1.Insert.Request + (*Insert_MultiRequest)(nil), // 25: payload.v1.Insert.MultiRequest + (*Insert_ObjectRequest)(nil), // 26: payload.v1.Insert.ObjectRequest + (*Insert_MultiObjectRequest)(nil), // 27: payload.v1.Insert.MultiObjectRequest + (*Insert_Config)(nil), // 28: payload.v1.Insert.Config + (*Update_Request)(nil), // 29: payload.v1.Update.Request + (*Update_MultiRequest)(nil), // 30: payload.v1.Update.MultiRequest + (*Update_ObjectRequest)(nil), // 31: payload.v1.Update.ObjectRequest + (*Update_MultiObjectRequest)(nil), // 32: payload.v1.Update.MultiObjectRequest + (*Update_Config)(nil), // 33: payload.v1.Update.Config + (*Upsert_Request)(nil), // 34: payload.v1.Upsert.Request + (*Upsert_MultiRequest)(nil), // 35: payload.v1.Upsert.MultiRequest + (*Upsert_ObjectRequest)(nil), // 36: payload.v1.Upsert.ObjectRequest + (*Upsert_MultiObjectRequest)(nil), // 37: payload.v1.Upsert.MultiObjectRequest + (*Upsert_Config)(nil), // 38: payload.v1.Upsert.Config + (*Remove_Request)(nil), // 39: payload.v1.Remove.Request + (*Remove_MultiRequest)(nil), // 40: payload.v1.Remove.MultiRequest + (*Remove_Config)(nil), // 41: payload.v1.Remove.Config + (*Object_VectorRequest)(nil), // 42: payload.v1.Object.VectorRequest + (*Object_Distance)(nil), // 43: payload.v1.Object.Distance + (*Object_StreamDistance)(nil), // 44: payload.v1.Object.StreamDistance + (*Object_ID)(nil), // 45: payload.v1.Object.ID + (*Object_IDs)(nil), // 46: payload.v1.Object.IDs + (*Object_Vector)(nil), // 47: payload.v1.Object.Vector + (*Object_Vectors)(nil), // 48: payload.v1.Object.Vectors + (*Object_StreamVector)(nil), // 49: payload.v1.Object.StreamVector + (*Object_ReshapeVector)(nil), // 50: payload.v1.Object.ReshapeVector + (*Object_Blob)(nil), // 51: payload.v1.Object.Blob + (*Object_StreamBlob)(nil), // 52: payload.v1.Object.StreamBlob + (*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 } var file_apis_proto_v1_payload_payload_proto_depIdxs = []int32{ - 19, // 0: payload.v1.Search.Request.config:type_name -> payload.v1.Search.Config - 13, // 1: payload.v1.Search.MultiRequest.requests:type_name -> payload.v1.Search.Request - 19, // 2: payload.v1.Search.IDRequest.config:type_name -> payload.v1.Search.Config - 15, // 3: payload.v1.Search.MultiIDRequest.requests:type_name -> payload.v1.Search.IDRequest - 19, // 4: payload.v1.Search.ObjectRequest.config:type_name -> payload.v1.Search.Config - 23, // 5: payload.v1.Search.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 17, // 6: payload.v1.Search.MultiObjectRequest.requests:type_name -> payload.v1.Search.ObjectRequest - 24, // 7: payload.v1.Search.Config.ingress_filters:type_name -> payload.v1.Filter.Config - 24, // 8: payload.v1.Search.Config.egress_filters:type_name -> payload.v1.Filter.Config + 18, // 0: payload.v1.Search.Request.config:type_name -> payload.v1.Search.Config + 12, // 1: payload.v1.Search.MultiRequest.requests:type_name -> payload.v1.Search.Request + 18, // 2: payload.v1.Search.IDRequest.config:type_name -> payload.v1.Search.Config + 14, // 3: payload.v1.Search.MultiIDRequest.requests:type_name -> payload.v1.Search.IDRequest + 18, // 4: payload.v1.Search.ObjectRequest.config:type_name -> payload.v1.Search.Config + 22, // 5: payload.v1.Search.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 16, // 6: payload.v1.Search.MultiObjectRequest.requests:type_name -> payload.v1.Search.ObjectRequest + 23, // 7: payload.v1.Search.Config.ingress_filters:type_name -> payload.v1.Filter.Config + 23, // 8: payload.v1.Search.Config.egress_filters:type_name -> payload.v1.Filter.Config 0, // 9: payload.v1.Search.Config.aggregation_algorithm:type_name -> payload.v1.Search.AggregationAlgorithm - 46, // 10: payload.v1.Search.Response.results:type_name -> payload.v1.Object.Distance - 20, // 11: payload.v1.Search.Responses.responses:type_name -> payload.v1.Search.Response - 20, // 12: payload.v1.Search.StreamResponse.response:type_name -> payload.v1.Search.Response - 76, // 13: payload.v1.Search.StreamResponse.status:type_name -> google.rpc.Status - 23, // 14: payload.v1.Filter.Config.targets:type_name -> payload.v1.Filter.Target - 50, // 15: payload.v1.Insert.Request.vector:type_name -> payload.v1.Object.Vector - 29, // 16: payload.v1.Insert.Request.config:type_name -> payload.v1.Insert.Config - 25, // 17: payload.v1.Insert.MultiRequest.requests:type_name -> payload.v1.Insert.Request - 54, // 18: payload.v1.Insert.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 29, // 19: payload.v1.Insert.ObjectRequest.config:type_name -> payload.v1.Insert.Config - 23, // 20: payload.v1.Insert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 27, // 21: payload.v1.Insert.MultiObjectRequest.requests:type_name -> payload.v1.Insert.ObjectRequest - 24, // 22: payload.v1.Insert.Config.filters:type_name -> payload.v1.Filter.Config - 50, // 23: payload.v1.Update.Request.vector:type_name -> payload.v1.Object.Vector - 34, // 24: payload.v1.Update.Request.config:type_name -> payload.v1.Update.Config - 30, // 25: payload.v1.Update.MultiRequest.requests:type_name -> payload.v1.Update.Request - 54, // 26: payload.v1.Update.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 34, // 27: payload.v1.Update.ObjectRequest.config:type_name -> payload.v1.Update.Config - 23, // 28: payload.v1.Update.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 32, // 29: payload.v1.Update.MultiObjectRequest.requests:type_name -> payload.v1.Update.ObjectRequest - 24, // 30: payload.v1.Update.Config.filters:type_name -> payload.v1.Filter.Config - 50, // 31: payload.v1.Upsert.Request.vector:type_name -> payload.v1.Object.Vector - 39, // 32: payload.v1.Upsert.Request.config:type_name -> payload.v1.Upsert.Config - 35, // 33: payload.v1.Upsert.MultiRequest.requests:type_name -> payload.v1.Upsert.Request - 54, // 34: payload.v1.Upsert.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 39, // 35: payload.v1.Upsert.ObjectRequest.config:type_name -> payload.v1.Upsert.Config - 23, // 36: payload.v1.Upsert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 37, // 37: payload.v1.Upsert.MultiObjectRequest.requests:type_name -> payload.v1.Upsert.ObjectRequest - 24, // 38: payload.v1.Upsert.Config.filters:type_name -> payload.v1.Filter.Config - 48, // 39: payload.v1.Remove.Request.id:type_name -> payload.v1.Object.ID - 44, // 40: payload.v1.Remove.Request.config:type_name -> payload.v1.Remove.Config - 40, // 41: payload.v1.Remove.MultiRequest.requests:type_name -> payload.v1.Remove.Request - 43, // 42: payload.v1.Remove.TimestampRequest.timestamps:type_name -> payload.v1.Remove.Timestamp - 1, // 43: payload.v1.Remove.Timestamp.operator:type_name -> payload.v1.Remove.Timestamp.Operator - 48, // 44: payload.v1.Object.VectorRequest.id:type_name -> payload.v1.Object.ID - 24, // 45: payload.v1.Object.VectorRequest.filters:type_name -> payload.v1.Filter.Config - 46, // 46: payload.v1.Object.StreamDistance.distance:type_name -> payload.v1.Object.Distance - 76, // 47: payload.v1.Object.StreamDistance.status:type_name -> google.rpc.Status - 50, // 48: payload.v1.Object.Vectors.vectors:type_name -> payload.v1.Object.Vector - 50, // 49: payload.v1.Object.StreamVector.vector:type_name -> payload.v1.Object.Vector - 76, // 50: payload.v1.Object.StreamVector.status:type_name -> google.rpc.Status - 54, // 51: payload.v1.Object.StreamBlob.blob:type_name -> payload.v1.Object.Blob - 76, // 52: payload.v1.Object.StreamBlob.status:type_name -> google.rpc.Status - 56, // 53: payload.v1.Object.StreamLocation.location:type_name -> payload.v1.Object.Location - 76, // 54: payload.v1.Object.StreamLocation.status:type_name -> google.rpc.Status - 56, // 55: payload.v1.Object.Locations.locations:type_name -> payload.v1.Object.Location - 50, // 56: payload.v1.Object.List.Response.vector:type_name -> payload.v1.Object.Vector - 76, // 57: payload.v1.Object.List.Response.status:type_name -> google.rpc.Status - 67, // 58: payload.v1.Info.Pod.cpu:type_name -> payload.v1.Info.CPU - 68, // 59: payload.v1.Info.Pod.memory:type_name -> payload.v1.Info.Memory - 66, // 60: payload.v1.Info.Pod.node:type_name -> payload.v1.Info.Node - 67, // 61: payload.v1.Info.Node.cpu:type_name -> payload.v1.Info.CPU - 68, // 62: payload.v1.Info.Node.memory:type_name -> payload.v1.Info.Memory - 69, // 63: payload.v1.Info.Node.Pods:type_name -> payload.v1.Info.Pods - 65, // 64: payload.v1.Info.Pods.pods:type_name -> payload.v1.Info.Pod - 66, // 65: payload.v1.Info.Nodes.nodes:type_name -> payload.v1.Info.Node - 66, // [66:66] is the sub-list for method output_type - 66, // [66:66] is the sub-list for method input_type - 66, // [66:66] is the sub-list for extension type_name - 66, // [66:66] is the sub-list for extension extendee - 0, // [0:66] is the sub-list for field type_name + 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 + 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 + 24, // 17: payload.v1.Insert.MultiRequest.requests:type_name -> payload.v1.Insert.Request + 51, // 18: payload.v1.Insert.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 28, // 19: payload.v1.Insert.ObjectRequest.config:type_name -> payload.v1.Insert.Config + 22, // 20: payload.v1.Insert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 26, // 21: payload.v1.Insert.MultiObjectRequest.requests:type_name -> payload.v1.Insert.ObjectRequest + 23, // 22: payload.v1.Insert.Config.filters:type_name -> payload.v1.Filter.Config + 47, // 23: payload.v1.Update.Request.vector:type_name -> payload.v1.Object.Vector + 33, // 24: payload.v1.Update.Request.config:type_name -> payload.v1.Update.Config + 29, // 25: payload.v1.Update.MultiRequest.requests:type_name -> payload.v1.Update.Request + 51, // 26: payload.v1.Update.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 33, // 27: payload.v1.Update.ObjectRequest.config:type_name -> payload.v1.Update.Config + 22, // 28: payload.v1.Update.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 31, // 29: payload.v1.Update.MultiObjectRequest.requests:type_name -> payload.v1.Update.ObjectRequest + 23, // 30: payload.v1.Update.Config.filters:type_name -> payload.v1.Filter.Config + 47, // 31: payload.v1.Upsert.Request.vector:type_name -> payload.v1.Object.Vector + 38, // 32: payload.v1.Upsert.Request.config:type_name -> payload.v1.Upsert.Config + 34, // 33: payload.v1.Upsert.MultiRequest.requests:type_name -> payload.v1.Upsert.Request + 51, // 34: payload.v1.Upsert.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 38, // 35: payload.v1.Upsert.ObjectRequest.config:type_name -> payload.v1.Upsert.Config + 22, // 36: payload.v1.Upsert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 36, // 37: payload.v1.Upsert.MultiObjectRequest.requests:type_name -> payload.v1.Upsert.ObjectRequest + 23, // 38: payload.v1.Upsert.Config.filters:type_name -> payload.v1.Filter.Config + 45, // 39: payload.v1.Remove.Request.id:type_name -> payload.v1.Object.ID + 41, // 40: payload.v1.Remove.Request.config:type_name -> payload.v1.Remove.Config + 39, // 41: payload.v1.Remove.MultiRequest.requests:type_name -> payload.v1.Remove.Request + 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 + 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 + 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 + 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 + 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 } func init() { file_apis_proto_v1_payload_payload_proto_init() } @@ -5473,30 +5288,6 @@ func file_apis_proto_v1_payload_payload_proto_init() { } } file_apis_proto_v1_payload_payload_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Remove_TimestampRequest); 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[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Remove_Timestamp); 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[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Remove_Config); i { case 0: return &v.state @@ -5508,7 +5299,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_VectorRequest); i { case 0: return &v.state @@ -5520,7 +5311,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Distance); i { case 0: return &v.state @@ -5532,7 +5323,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_StreamDistance); i { case 0: return &v.state @@ -5544,7 +5335,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_ID); i { case 0: return &v.state @@ -5556,7 +5347,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_IDs); i { case 0: return &v.state @@ -5568,7 +5359,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Vector); i { case 0: return &v.state @@ -5580,7 +5371,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Vectors); i { case 0: return &v.state @@ -5592,7 +5383,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_StreamVector); i { case 0: return &v.state @@ -5604,7 +5395,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_ReshapeVector); i { case 0: return &v.state @@ -5616,7 +5407,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Blob); i { case 0: return &v.state @@ -5628,7 +5419,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_StreamBlob); i { case 0: return &v.state @@ -5640,7 +5431,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Location); i { case 0: return &v.state @@ -5652,7 +5443,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_StreamLocation); i { case 0: return &v.state @@ -5664,7 +5455,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_Locations); i { case 0: return &v.state @@ -5676,7 +5467,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + 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 @@ -5688,7 +5479,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[58].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.(*Object_List_Request); i { case 0: return &v.state @@ -5700,7 +5491,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[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object_List_Response); i { case 0: return &v.state @@ -5712,7 +5503,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[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Control_CreateIndexRequest); i { case 0: return &v.state @@ -5724,7 +5515,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[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Discoverer_Request); i { case 0: return &v.state @@ -5736,7 +5527,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[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index); i { case 0: return &v.state @@ -5748,7 +5539,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[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Pod); i { case 0: return &v.state @@ -5760,7 +5551,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[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Node); i { case 0: return &v.state @@ -5772,7 +5563,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[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_CPU); i { case 0: return &v.state @@ -5784,7 +5575,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[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Memory); i { case 0: return &v.state @@ -5796,7 +5587,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[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Pods); i { case 0: return &v.state @@ -5808,7 +5599,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[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Nodes); i { case 0: return &v.state @@ -5820,7 +5611,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[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_IPs); i { case 0: return &v.state @@ -5832,7 +5623,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[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_Count); i { case 0: return &v.state @@ -5844,7 +5635,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[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID); i { case 0: return &v.state @@ -5856,7 +5647,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID_Committed); i { case 0: return &v.state @@ -5868,7 +5659,7 @@ func file_apis_proto_v1_payload_payload_proto_init() { return nil } } - file_apis_proto_v1_payload_payload_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_apis_proto_v1_payload_payload_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Info_Index_UUID_Uncommitted); i { case 0: return &v.state @@ -5885,23 +5676,23 @@ func file_apis_proto_v1_payload_payload_proto_init() { (*Search_StreamResponse_Response)(nil), (*Search_StreamResponse_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[45].OneofWrappers = []interface{}{ + file_apis_proto_v1_payload_payload_proto_msgTypes[43].OneofWrappers = []interface{}{ (*Object_StreamDistance_Distance)(nil), (*Object_StreamDistance_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[50].OneofWrappers = []interface{}{ + file_apis_proto_v1_payload_payload_proto_msgTypes[48].OneofWrappers = []interface{}{ (*Object_StreamVector_Vector)(nil), (*Object_StreamVector_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[53].OneofWrappers = []interface{}{ + file_apis_proto_v1_payload_payload_proto_msgTypes[51].OneofWrappers = []interface{}{ (*Object_StreamBlob_Blob)(nil), (*Object_StreamBlob_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[55].OneofWrappers = []interface{}{ + file_apis_proto_v1_payload_payload_proto_msgTypes[53].OneofWrappers = []interface{}{ (*Object_StreamLocation_Location)(nil), (*Object_StreamLocation_Status)(nil), } - file_apis_proto_v1_payload_payload_proto_msgTypes[59].OneofWrappers = []interface{}{ + file_apis_proto_v1_payload_payload_proto_msgTypes[57].OneofWrappers = []interface{}{ (*Object_List_Response_Vector)(nil), (*Object_List_Response_Status)(nil), } @@ -5910,8 +5701,8 @@ func file_apis_proto_v1_payload_payload_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_apis_proto_v1_payload_payload_proto_rawDesc, - NumEnums: 2, - NumMessages: 74, + NumEnums: 1, + NumMessages: 72, 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 57a38bbed6..b0f8162a93 100644 --- a/apis/grpc/v1/payload/payload_vtproto.pb.go +++ b/apis/grpc/v1/payload/payload_vtproto.pb.go @@ -771,48 +771,6 @@ func (m *Remove_MultiRequest) CloneMessageVT() proto.Message { return m.CloneVT() } -func (m *Remove_TimestampRequest) CloneVT() *Remove_TimestampRequest { - if m == nil { - return (*Remove_TimestampRequest)(nil) - } - r := &Remove_TimestampRequest{} - if rhs := m.Timestamps; rhs != nil { - tmpContainer := make([]*Remove_Timestamp, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.Timestamps = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Remove_TimestampRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *Remove_Timestamp) CloneVT() *Remove_Timestamp { - if m == nil { - return (*Remove_Timestamp)(nil) - } - r := &Remove_Timestamp{ - Timestamp: m.Timestamp, - Operator: m.Operator, - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Remove_Timestamp) CloneMessageVT() proto.Message { - return m.CloneVT() -} - func (m *Remove_Config) CloneVT() *Remove_Config { if m == nil { return (*Remove_Config)(nil) @@ -2669,61 +2627,6 @@ func (this *Remove_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { } return this.EqualVT(that) } -func (this *Remove_TimestampRequest) EqualVT(that *Remove_TimestampRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Timestamps) != len(that.Timestamps) { - return false - } - for i, vx := range this.Timestamps { - vy := that.Timestamps[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Remove_Timestamp{} - } - if q == nil { - q = &Remove_Timestamp{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Remove_TimestampRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove_TimestampRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *Remove_Timestamp) EqualVT(that *Remove_Timestamp) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Timestamp != that.Timestamp { - return false - } - if this.Operator != that.Operator { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Remove_Timestamp) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove_Timestamp) - if !ok { - return false - } - return this.EqualVT(that) -} func (this *Remove_Config) EqualVT(that *Remove_Config) bool { if this == that { return true @@ -5648,94 +5551,6 @@ func (m *Remove_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Remove_TimestampRequest) 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 *Remove_TimestampRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Remove_TimestampRequest) 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 len(m.Timestamps) > 0 { - for iNdEx := len(m.Timestamps) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Timestamps[iNdEx].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 *Remove_Timestamp) 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 *Remove_Timestamp) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Remove_Timestamp) 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 m.Operator != 0 { - i = encodeVarint(dAtA, i, uint64(m.Operator)) - i-- - dAtA[i] = 0x10 - } - if m.Timestamp != 0 { - i = encodeVarint(dAtA, i, uint64(m.Timestamp)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - func (m *Remove_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -8342,38 +8157,6 @@ func (m *Remove_MultiRequest) SizeVT() (n int) { return n } -func (m *Remove_TimestampRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Timestamps) > 0 { - for _, e := range m.Timestamps { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *Remove_Timestamp) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Timestamp != 0 { - n += 1 + sov(uint64(m.Timestamp)) - } - if m.Operator != 0 { - n += 1 + sov(uint64(m.Operator)) - } - n += len(m.unknownFields) - return n -} - func (m *Remove_Config) SizeVT() (n int) { if m == nil { return 0 @@ -12834,180 +12617,6 @@ func (m *Remove_MultiRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Remove_TimestampRequest) 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: Remove_TimestampRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Remove_TimestampRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamps", 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 - } - m.Timestamps = append(m.Timestamps, &Remove_Timestamp{}) - if err := m.Timestamps[len(m.Timestamps)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - 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 *Remove_Timestamp) 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: Remove_Timestamp: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Remove_Timestamp: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) - } - m.Timestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Timestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) - } - m.Operator = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Operator |= Remove_Timestamp_Operator(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *Remove_Config) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/apis/grpc/v1/vald/filter.pb.go b/apis/grpc/v1/vald/filter.pb.go index 85faf6c038..14a4e50b37 100644 --- a/apis/grpc/v1/vald/filter.pb.go +++ b/apis/grpc/v1/vald/filter.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/filter.proto package vald diff --git a/apis/grpc/v1/vald/insert.pb.go b/apis/grpc/v1/vald/insert.pb.go index c53f018c13..aaf972ee05 100644 --- a/apis/grpc/v1/vald/insert.pb.go +++ b/apis/grpc/v1/vald/insert.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/insert.proto package vald diff --git a/apis/grpc/v1/vald/object.pb.go b/apis/grpc/v1/vald/object.pb.go index e8b88fb2f8..0cefb0ac65 100644 --- a/apis/grpc/v1/vald/object.pb.go +++ b/apis/grpc/v1/vald/object.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/object.proto package vald diff --git a/apis/grpc/v1/vald/remove.pb.go b/apis/grpc/v1/vald/remove.pb.go index 298d73e228..58f7de151c 100644 --- a/apis/grpc/v1/vald/remove.pb.go +++ b/apis/grpc/v1/vald/remove.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/remove.proto package vald @@ -49,60 +49,49 @@ var file_apis_proto_v1_vald_remove_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, 0x95, - 0x03, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x9f, + 0x02, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x3a, 0x01, 0x2a, 0x22, 0x07, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x12, 0x74, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 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, 0x73, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, - 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x53, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 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, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x0b, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 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, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 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, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 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, + 0x12, 0x53, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 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, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 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, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, + 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 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, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 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_remove_proto_goTypes = []interface{}{ - (*payload.Remove_Request)(nil), // 0: payload.v1.Remove.Request - (*payload.Remove_TimestampRequest)(nil), // 1: payload.v1.Remove.TimestampRequest - (*payload.Remove_MultiRequest)(nil), // 2: payload.v1.Remove.MultiRequest - (*payload.Object_Location)(nil), // 3: payload.v1.Object.Location - (*payload.Object_Locations)(nil), // 4: payload.v1.Object.Locations - (*payload.Object_StreamLocation)(nil), // 5: payload.v1.Object.StreamLocation + (*payload.Remove_Request)(nil), // 0: payload.v1.Remove.Request + (*payload.Remove_MultiRequest)(nil), // 1: payload.v1.Remove.MultiRequest + (*payload.Object_Location)(nil), // 2: payload.v1.Object.Location + (*payload.Object_StreamLocation)(nil), // 3: payload.v1.Object.StreamLocation + (*payload.Object_Locations)(nil), // 4: payload.v1.Object.Locations } var file_apis_proto_v1_vald_remove_proto_depIdxs = []int32{ 0, // 0: vald.v1.Remove.Remove:input_type -> payload.v1.Remove.Request - 1, // 1: vald.v1.Remove.RemoveByTimestamp:input_type -> payload.v1.Remove.TimestampRequest - 0, // 2: vald.v1.Remove.StreamRemove:input_type -> payload.v1.Remove.Request - 2, // 3: vald.v1.Remove.MultiRemove:input_type -> payload.v1.Remove.MultiRequest - 3, // 4: vald.v1.Remove.Remove:output_type -> payload.v1.Object.Location - 4, // 5: vald.v1.Remove.RemoveByTimestamp:output_type -> payload.v1.Object.Locations - 5, // 6: vald.v1.Remove.StreamRemove:output_type -> payload.v1.Object.StreamLocation - 4, // 7: vald.v1.Remove.MultiRemove:output_type -> payload.v1.Object.Locations - 4, // [4:8] is the sub-list for method output_type - 0, // [0:4] is the sub-list for method input_type + 0, // 1: vald.v1.Remove.StreamRemove:input_type -> payload.v1.Remove.Request + 1, // 2: vald.v1.Remove.MultiRemove:input_type -> payload.v1.Remove.MultiRequest + 2, // 3: vald.v1.Remove.Remove:output_type -> payload.v1.Object.Location + 3, // 4: vald.v1.Remove.StreamRemove:output_type -> payload.v1.Object.StreamLocation + 4, // 5: vald.v1.Remove.MultiRemove:output_type -> payload.v1.Object.Locations + 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/remove_vtproto.pb.go b/apis/grpc/v1/vald/remove_vtproto.pb.go index dcdba47448..74da1b9ba4 100644 --- a/apis/grpc/v1/vald/remove_vtproto.pb.go +++ b/apis/grpc/v1/vald/remove_vtproto.pb.go @@ -44,8 +44,6 @@ const _ = grpc.SupportPackageIsVersion7 type RemoveClient interface { // A method to remove an indexed vector. Remove(ctx context.Context, in *payload.Remove_Request, opts ...grpc.CallOption) (*payload.Object_Location, error) - // A method to remove an indexed vector based on timestamp. - RemoveByTimestamp(ctx context.Context, in *payload.Remove_TimestampRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) // A method to remove multiple indexed vectors by bidirectional streaming. StreamRemove(ctx context.Context, opts ...grpc.CallOption) (Remove_StreamRemoveClient, error) // A method to remove multiple indexed vectors in a single request. @@ -69,15 +67,6 @@ func (c *removeClient) Remove(ctx context.Context, in *payload.Remove_Request, o return out, nil } -func (c *removeClient) RemoveByTimestamp(ctx context.Context, in *payload.Remove_TimestampRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := new(payload.Object_Locations) - err := c.cc.Invoke(ctx, "/vald.v1.Remove/RemoveByTimestamp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *removeClient) StreamRemove(ctx context.Context, opts ...grpc.CallOption) (Remove_StreamRemoveClient, error) { stream, err := c.cc.NewStream(ctx, &Remove_ServiceDesc.Streams[0], "/vald.v1.Remove/StreamRemove", opts...) if err != nil { @@ -124,8 +113,6 @@ func (c *removeClient) MultiRemove(ctx context.Context, in *payload.Remove_Multi type RemoveServer interface { // A method to remove an indexed vector. Remove(context.Context, *payload.Remove_Request) (*payload.Object_Location, error) - // A method to remove an indexed vector based on timestamp. - RemoveByTimestamp(context.Context, *payload.Remove_TimestampRequest) (*payload.Object_Locations, error) // A method to remove multiple indexed vectors by bidirectional streaming. StreamRemove(Remove_StreamRemoveServer) error // A method to remove multiple indexed vectors in a single request. @@ -140,9 +127,6 @@ type UnimplementedRemoveServer struct { func (UnimplementedRemoveServer) Remove(context.Context, *payload.Remove_Request) (*payload.Object_Location, error) { return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") } -func (UnimplementedRemoveServer) RemoveByTimestamp(context.Context, *payload.Remove_TimestampRequest) (*payload.Object_Locations, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveByTimestamp not implemented") -} func (UnimplementedRemoveServer) StreamRemove(Remove_StreamRemoveServer) error { return status.Errorf(codes.Unimplemented, "method StreamRemove not implemented") } @@ -180,24 +164,6 @@ func _Remove_Remove_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } -func _Remove_RemoveByTimestamp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(payload.Remove_TimestampRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RemoveServer).RemoveByTimestamp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/vald.v1.Remove/RemoveByTimestamp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RemoveServer).RemoveByTimestamp(ctx, req.(*payload.Remove_TimestampRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Remove_StreamRemove_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RemoveServer).StreamRemove(&removeStreamRemoveServer{stream}) } @@ -253,10 +219,6 @@ var Remove_ServiceDesc = grpc.ServiceDesc{ MethodName: "Remove", Handler: _Remove_Remove_Handler, }, - { - MethodName: "RemoveByTimestamp", - Handler: _Remove_RemoveByTimestamp_Handler, - }, { MethodName: "MultiRemove", Handler: _Remove_MultiRemove_Handler, diff --git a/apis/grpc/v1/vald/search.pb.go b/apis/grpc/v1/vald/search.pb.go index b08189b9fc..5cb2ac80cd 100644 --- a/apis/grpc/v1/vald/search.pb.go +++ b/apis/grpc/v1/vald/search.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/search.proto package vald diff --git a/apis/grpc/v1/vald/update.pb.go b/apis/grpc/v1/vald/update.pb.go index 1941f98082..a2ccc728f1 100644 --- a/apis/grpc/v1/vald/update.pb.go +++ b/apis/grpc/v1/vald/update.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/update.proto package vald diff --git a/apis/grpc/v1/vald/upsert.pb.go b/apis/grpc/v1/vald/upsert.pb.go index 84c8f49918..573c23e587 100644 --- a/apis/grpc/v1/vald/upsert.pb.go +++ b/apis/grpc/v1/vald/upsert.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.24.2 +// protoc v4.24.1 // source: apis/proto/v1/vald/upsert.proto package vald diff --git a/apis/grpc/v1/vald/vald.go b/apis/grpc/v1/vald/vald.go index da771fdbb2..ff343ec61b 100644 --- a/apis/grpc/v1/vald/vald.go +++ b/apis/grpc/v1/vald/vald.go @@ -116,10 +116,9 @@ const ( StreamLinearSearchObjectRPCName = "StreamLinearSearchObject" StreamSearchObjectRPCName = "StreamSearchObject" - RemoveRPCName = "Remove" - StreamRemoveRPCName = "StreamRemove" - MultiRemoveRPCName = "MultiRemove" - RemoveByTimestampRPCName = "RemoveByTimestamp" + RemoveRPCName = "Remove" + StreamRemoveRPCName = "StreamRemove" + MultiRemoveRPCName = "MultiRemove" ExistsRPCName = "Exists" GetObjectRPCName = "GetObject" diff --git a/apis/proto/v1/payload/payload.proto b/apis/proto/v1/payload/payload.proto index a18f1860b5..dd0ebef729 100644 --- a/apis/proto/v1/payload/payload.proto +++ b/apis/proto/v1/payload/payload.proto @@ -296,28 +296,6 @@ message Remove { repeated Request requests = 1; } - // Represent the remove request based on timestamp. - message TimestampRequest { - // Represent the multiple remove request contents based on timestamp. - repeated Timestamp timestamps = 1; - } - - message Timestamp { - // Operator is enum of each conditional operator. - enum Operator { - Eq = 0; - Ne = 1; - Ge = 2; - Gt = 3; - Le = 4; - Lt = 5; - } - // The timestamp. - int64 timestamp = 1; - // The conditional operator. - Operator operator = 2; - } - // Represent the remove configuration. message Config { // A flag to skip exist check during upsert operation. diff --git a/apis/proto/v1/vald/remove.proto b/apis/proto/v1/vald/remove.proto index a9130118a2..aac732f81b 100644 --- a/apis/proto/v1/vald/remove.proto +++ b/apis/proto/v1/vald/remove.proto @@ -36,14 +36,6 @@ service Remove { }; } - // A method to remove an indexed vector based on timestamp. - rpc RemoveByTimestamp(payload.v1.Remove.TimestampRequest) returns (payload.v1.Object.Locations) { - option (google.api.http) = { - post: "/remove/timestamp" - body: "*" - }; - } - // A method to remove multiple indexed vectors by bidirectional streaming. rpc StreamRemove(stream payload.v1.Remove.Request) returns (stream payload.v1.Object.StreamLocation) {} 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 49dc3382ec..ad756bf4e7 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 @@ -388,11 +388,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json index 43cde3b9f2..56456efacb 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json @@ -156,11 +156,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", 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 7d76b24d4a..389fb067f1 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 @@ -192,11 +192,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json index 350b138215..c4084796b0 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json @@ -68,37 +68,6 @@ ], "tags": ["Remove"] } - }, - "/remove/timestamp": { - "post": { - "summary": "A method to remove an indexed vector based on timestamp.", - "operationId": "Remove_RemoveByTimestamp", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ObjectLocations" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/runtimeError" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RemoveTimestampRequest" - } - } - ], - "tags": ["Remove"] - } } }, "definitions": { @@ -137,25 +106,6 @@ }, "description": "Represent the stream response of the vector location." }, - "RemoveTimestampRequest": { - "type": "object", - "properties": { - "timestamps": { - "type": "array", - "items": { - "$ref": "#/definitions/v1RemoveTimestamp" - }, - "description": "Represent the multiple remove request contents based on timestamp." - } - }, - "description": "Represent the remove request based on timestamp." - }, - "TimestampOperator": { - "type": "string", - "enum": ["Eq", "Ne", "Ge", "Gt", "Le", "Lt"], - "default": "Eq", - "description": "Operator is enum of each conditional operator." - }, "protobufAny": { "type": "object", "properties": { @@ -177,11 +127,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", @@ -301,20 +251,6 @@ } }, "description": "Represent the remove request." - }, - "v1RemoveTimestamp": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64", - "description": "The timestamp." - }, - "operator": { - "$ref": "#/definitions/TimestampOperator", - "description": "The conditional operator." - } - } } } } 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 3cd0d4b763..14c6982996 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 @@ -374,11 +374,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json index 9cbb4a2bf2..0301c85566 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json @@ -156,11 +156,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json index ada6e05746..7e1e5c24cd 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json @@ -156,11 +156,11 @@ "code": { "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]." + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." }, "details": { "type": "array", diff --git a/internal/client/v1/client/vald/vald.go b/internal/client/v1/client/vald/vald.go index 94f8f22df5..4181102b5b 100644 --- a/internal/client/v1/client/vald/vald.go +++ b/internal/client/v1/client/vald/vald.go @@ -581,26 +581,6 @@ func (c *client) MultiRemove(ctx context.Context, in *payload.Remove_MultiReques return res, nil } -func (c *client) RemoveByTimestamp(ctx context.Context, in *payload.Remove_TimestampRequest, opts ...grpc.CallOption) (res *payload.Object_Locations, err error) { - ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/client/"+vald.RemoveByTimestampRPCName), apiName+"/"+vald.RemoveByTimestampRPCName) - defer func() { - if span != nil { - span.End() - } - }() - _, err = c.c.RoundRobin(ctx, func(ctx context.Context, - conn *grpc.ClientConn, - copts ...grpc.CallOption, - ) (interface{}, error) { - res, err = vald.NewValdClient(conn).RemoveByTimestamp(ctx, in, append(copts, opts...)...) - return nil, err - }) - if err != nil { - return nil, err - } - return res, nil -} - func (c *client) GetObject(ctx context.Context, in *payload.Object_VectorRequest, opts ...grpc.CallOption) (res *payload.Object_Vector, err error) { ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/client/"+vald.GetObjectRPCName), apiName+"/"+vald.GetObjectRPCName) defer func() { @@ -922,16 +902,6 @@ func (c *singleClient) MultiRemove(ctx context.Context, in *payload.Remove_Multi return c.vc.MultiRemove(ctx, in, opts...) } -func (c *singleClient) RemoveByTimestamp(ctx context.Context, in *payload.Remove_TimestampRequest, opts ...grpc.CallOption) (res *payload.Object_Locations, err error) { - ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/singleClient/"+vald.RemoveByTimestampRPCName), apiName+"/"+vald.RemoveByTimestampRPCName) - defer func() { - if span != nil { - span.End() - } - }() - return c.vc.RemoveByTimestamp(ctx, in, opts...) -} - func (c *singleClient) GetObject(ctx context.Context, in *payload.Object_VectorRequest, opts ...grpc.CallOption) (res *payload.Object_Vector, err error) { ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "internal/singleClient/"+vald.GetObjectRPCName), apiName+"/"+vald.GetObjectRPCName) defer func() { diff --git a/internal/compress/zstd_test.go b/internal/compress/zstd_test.go index b394af29f5..1df3c519ea 100644 --- a/internal/compress/zstd_test.go +++ b/internal/compress/zstd_test.go @@ -33,8 +33,11 @@ var zstdCompressorComparatorOptions = []comparator.Option{ comparator.Comparer(func(x, y gobCompressor) bool { return reflect.DeepEqual(x, y) }), - comparator.Comparer(func(x, y []zstd.EOption) bool { - return len(x) == len(y) + comparator.Comparer(func(x, y zstd.EOption) bool { + if (x == nil && y != nil) || (x != nil && y == nil) { + return false + } + return reflect.ValueOf(x).Pointer() == reflect.ValueOf(y).Pointer() }), } diff --git a/pkg/agent/core/ngt/handler/grpc/remove.go b/pkg/agent/core/ngt/handler/grpc/remove.go index 4d3c7132c2..75c880793f 100644 --- a/pkg/agent/core/ngt/handler/grpc/remove.go +++ b/pkg/agent/core/ngt/handler/grpc/remove.go @@ -28,7 +28,6 @@ import ( "github.com/vdaas/vald/internal/net/grpc/status" "github.com/vdaas/vald/internal/observability/trace" "github.com/vdaas/vald/internal/strings" - "github.com/vdaas/vald/internal/sync" "go.opentelemetry.io/otel/attribute" ) @@ -250,125 +249,3 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ } return s.newLocations(uuids...), nil } - -func (s *server) RemoveByTimestamp(ctx context.Context, req *payload.Remove_TimestampRequest) (locs *payload.Object_Locations, errs error) { - ctx, span := trace.StartSpan(ctx, apiName+"/"+vald.RemoveByTimestampRPCName) - defer func() { - if span != nil { - span.End() - } - }() - - var mu, emu sync.Mutex - locs = new(payload.Object_Locations) - - timestampOpFn := timestampOpsFunc(req.GetTimestamps()) - s.ngt.ListObjectFunc(ctx, func(uuid string, oid uint32, timestamp int64) bool { - if !timestampOpFn(timestamp) { - return true - } - res, err := s.Remove(ctx, &payload.Remove_Request{ - Id: &payload.Object_ID{ - Id: uuid, - }, - }) - if err != nil { - emu.Lock() - errs = errors.Join(errs, err) - emu.Lock() - } - if res != nil { - mu.Lock() - locs.Locations = append(locs.Locations, res) - mu.Unlock() - } - return true - }) - if errs != nil { - st, msg, err := status.ParseError(errs, codes.Internal, - "failed to parse "+vald.RemoveByTimestampRPCName+" gRPC error response", - &errdetails.RequestInfo{ - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceType: ngtResourceType + "/ngt.Remove", - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - }, - ) - log.Error(err) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - if locs == nil || len(locs.GetLocations()) == 0 { - err := status.WrapWithNotFound( - vald.RemoveByTimestampRPCName+" API remove target not found", errors.ErrIndexNotFound, - &errdetails.RequestInfo{ - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceType: ngtResourceType + "/ngt.Remove", - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - }, - ) - log.Error(err) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeNotFound(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - return locs, nil -} - -func timestampOpsFunc(ts []*payload.Remove_Timestamp) func(int64) bool { - fns := make([]func(int64) bool, 0, len(ts)) - for _, t := range ts { - fns = append(fns, timestampOpFunc(t)) - } - return func(t int64) bool { - for _, fn := range fns { - if !fn(t) { - return false - } - } - return true - } -} - -func timestampOpFunc(ts *payload.Remove_Timestamp) func(int64) bool { - switch ts.GetOperator() { - case payload.Remove_Timestamp_Eq: - return func(t int64) bool { - return ts.GetTimestamp() == t - } - case payload.Remove_Timestamp_Ne: - return func(t int64) bool { - return ts.GetTimestamp() != t - } - case payload.Remove_Timestamp_Ge: - return func(t int64) bool { - return ts.GetTimestamp() <= t - } - case payload.Remove_Timestamp_Gt: - return func(t int64) bool { - return ts.GetTimestamp() < t - } - case payload.Remove_Timestamp_Le: - return func(t int64) bool { - return ts.GetTimestamp() >= t - } - case payload.Remove_Timestamp_Lt: - return func(t int64) bool { - return ts.GetTimestamp() > t - } - default: - return func(timestamp int64) bool { - return false - } - } -} diff --git a/pkg/agent/core/ngt/handler/grpc/remove_test.go b/pkg/agent/core/ngt/handler/grpc/remove_test.go index c5ef45492d..2b924b3a00 100644 --- a/pkg/agent/core/ngt/handler/grpc/remove_test.go +++ b/pkg/agent/core/ngt/handler/grpc/remove_test.go @@ -16,7 +16,6 @@ package grpc import ( "context" "reflect" - "strconv" "testing" "github.com/vdaas/vald/apis/grpc/v1/payload" @@ -29,8 +28,6 @@ import ( "github.com/vdaas/vald/internal/sync/errgroup" "github.com/vdaas/vald/internal/test/data/request" "github.com/vdaas/vald/internal/test/data/vector" - "github.com/vdaas/vald/internal/test/goleak" - "github.com/vdaas/vald/pkg/agent/core/ngt/service" ) func Test_server_Remove(t *testing.T) { @@ -369,628 +366,6 @@ func Test_server_Remove(t *testing.T) { } } -func Test_server_RemoveByTimestamp(t *testing.T) { - type args struct { - req *payload.Remove_TimestampRequest - } - type want struct { - code codes.Code - wantLen int - } - type test struct { - name string - args args - want want - checkFunc func(want, *payload.Object_Locations, error) error - beforeFunc func(context.Context, args) (Server, func(context.Context) error, error) - afterFunc func(args) - } - - defaultCheckFunc := func(w want, gotLocs *payload.Object_Locations, err error) error { - if err != nil { - st, ok := status.FromError(err) - if !ok { - errors.Errorf("got error cannot convert to Status: \"%#v\"", err) - } - if st.Code() != w.code { - return errors.Errorf("got code: \"%#v\",\n\t\t\t\twant code: \"%#v\"", st.Code().String(), w.code.String()) - } - } - if len(gotLocs.GetLocations()) != w.wantLen { - return errors.Errorf("got Len: \"%#v\",\n\t\t\t\twant Len: \"%#v\"", len(gotLocs.GetLocations()), w.wantLen) - } - return nil - } - - defaultNgtConfig := &config.NGT{ - Dimension: 128, - DistanceType: ngt.L2.String(), - ObjectType: ngt.Float.String(), - CreationEdgeSize: 60, - SearchEdgeSize: 20, - KVSDB: &config.KVSDB{ - Concurrency: 10, - }, - VQueue: &config.VQueue{ - InsertBufferPoolSize: 1000, - DeleteBufferPoolSize: 1000, - }, - } - - defaultInsertNum := 100 - defaultTimestamp := int64(1000) - - createInsertReq := func(num int) (*payload.Insert_MultiRequest, error) { - return request.GenMultiInsertReq( - request.Float, - vector.Gaussian, - num, - defaultNgtConfig.Dimension, - &payload.Insert_Config{ - SkipStrictExistCheck: true, - Timestamp: defaultTimestamp, - }, - ) - } - - defaultBeforeFunc := func(ctx context.Context, _ args) (Server, func(ctx context.Context) error, error) { - eg, ctx := errgroup.New(ctx) - ngt, err := service.New(defaultNgtConfig, - service.WithErrGroup(eg), - service.WithEnableInMemoryMode(true), - ) - if err != nil { - return nil, nil, err - } - - s, err := New( - WithErrGroup(eg), - WithNGT(ngt), - ) - if err != nil { - return nil, nil, err - } - - req, err := createInsertReq(defaultInsertNum) - if err != nil { - return nil, nil, err - } - for _, req := range req.GetRequests() { - _, err := s.Insert(ctx, req) - if err != nil { - return nil, nil, err - } - } - return s, func(ctx context.Context) error { - return ngt.CreateIndex(ctx, 1000) - }, err - } - tests := []test{ - { - name: "succeeds if all vector data is deleted when the operator is Eq", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp, - Operator: payload.Remove_Timestamp_Eq, - }, - }, - }, - }, - want: want{ - code: codes.OK, - wantLen: defaultInsertNum, - }, - }, - { - name: "succeeds if all vector data is deleted when the operator is Ge", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp, - Operator: payload.Remove_Timestamp_Ge, - }, - }, - }, - }, - want: want{ - code: codes.OK, - wantLen: defaultInsertNum, - }, - }, - { - name: "succeeds if one vector data is deleted when the operator are Gt and Lt", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp, - Operator: payload.Remove_Timestamp_Gt, - }, - { - Timestamp: defaultTimestamp + 2, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - }, - }, - // Insert two additional vectors. - beforeFunc: func(ctx context.Context, a args) (Server, func(context.Context) error, error) { - s, fn, err := defaultBeforeFunc(ctx, a) - if err != nil { - return nil, nil, err - } - - req, err := createInsertReq(2) - if err != nil { - return nil, nil, err - } - for i := range req.GetRequests() { - req.Requests[i].Vector.Id += "-" + strconv.Itoa(i+1) - req.Requests[i].Config.Timestamp += int64(i + 1) - _, err := s.Insert(ctx, req.Requests[i]) - if err != nil { - return nil, nil, err - } - } - return s, fn, nil - }, - want: want{ - code: codes.OK, - wantLen: 1, - }, - }, - { - name: "succeeds if all vector data is deleted when the operator is Le", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp, - Operator: payload.Remove_Timestamp_Le, - }, - }, - }, - }, - want: want{ - code: codes.OK, - wantLen: defaultInsertNum, - }, - }, - { - name: "succeeds if all vector data is deleted when the operator is Gt and Lt", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp / 2, - Operator: payload.Remove_Timestamp_Gt, - }, - { - Timestamp: defaultTimestamp * 2, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - }, - }, - want: want{ - code: codes.OK, - wantLen: defaultInsertNum, - }, - }, - { - name: "fails if the target vector is not found when the operator is Eq", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp * 2, - Operator: payload.Remove_Timestamp_Eq, - }, - }, - }, - }, - want: want{ - code: codes.NotFound, - }, - }, - { - name: "fails if target vector is not found when the operator is Gt", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp * 2, - Operator: payload.Remove_Timestamp_Gt, - }, - }, - }, - }, - want: want{ - code: codes.NotFound, - }, - }, - { - name: "fails if all vector data is deleted when the operator is Lt", - args: args{ - req: &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: defaultTimestamp / 2, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - }, - }, - want: want{ - code: codes.NotFound, - }, - }, - } - - ctx, cancel := context.WithCancel(context.Background()) - t.Cleanup(func() { cancel() }) - - for _, tc := range tests { - test := tc - t.Run(test.name, func(tt *testing.T) { - tt.Parallel() - defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) - - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - if test.beforeFunc == nil { - test.beforeFunc = defaultBeforeFunc - } - s, fn, err := test.beforeFunc(ctx, test.args) - if err != nil { - t.Errorf("error = %v", err) - return - } - if err := fn(ctx); err != nil { - t.Errorf("error = %v", err) - return - } - if test.afterFunc != nil { - defer test.afterFunc(test.args) - } - checkFunc := test.checkFunc - if test.checkFunc == nil { - checkFunc = defaultCheckFunc - } - - gotLocs, err := s.RemoveByTimestamp(ctx, test.args.req) - if err := checkFunc(test.want, gotLocs, err); err != nil { - tt.Errorf("error = %v", err) - } - }) - } -} - -func Test_timestampOpsFunc(t *testing.T) { - type args struct { - timestamp int64 - ts []*payload.Remove_Timestamp - } - type want struct { - want bool - } - type test struct { - name string - args args - want want - checkFunc func(want, bool) error - beforeFunc func(*testing.T, args) - afterFunc func(*testing.T, args) - } - defaultCheckFunc := func(w want, got bool) error { - if got != w.want { - return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", got, w.want) - } - return nil - } - tests := []test{ - { - name: "return true when the timestamp is equal", - args: args{ - timestamp: 1000, - ts: []*payload.Remove_Timestamp{ - { - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Eq, - }, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when timestamps is within range", - args: args{ - timestamp: 1001, - ts: []*payload.Remove_Timestamp{ - { - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Gt, - }, - { - Timestamp: 2000, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when timestamps is not within range", - args: args{ - timestamp: 900, - ts: []*payload.Remove_Timestamp{ - { - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Gt, - }, - { - Timestamp: 2000, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - }, - want: want{ - want: false, - }, - }, - } - - for _, tc := range tests { - test := tc - t.Run(test.name, func(tt *testing.T) { - tt.Parallel() - defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) - if test.beforeFunc != nil { - test.beforeFunc(tt, test.args) - } - if test.afterFunc != nil { - defer test.afterFunc(tt, test.args) - } - checkFunc := test.checkFunc - if test.checkFunc == nil { - checkFunc = defaultCheckFunc - } - - got := timestampOpsFunc(test.args.ts)(test.args.timestamp) - if err := checkFunc(test.want, got); err != nil { - tt.Errorf("error = %v", err) - } - }) - } -} - -func Test_timestampOpFunc(t *testing.T) { - type args struct { - timestamp int64 - ts *payload.Remove_Timestamp - } - type want struct { - want bool - } - type test struct { - name string - args args - want want - checkFunc func(want, bool) error - beforeFunc func(*testing.T, args) - afterFunc func(*testing.T, args) - } - defaultCheckFunc := func(w want, got bool) error { - if got != w.want { - return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", got, w.want) - } - return nil - } - tests := []test{ - { - name: "return true when the timestamp is equal", - args: args{ - timestamp: 1000, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Eq, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when the timestamp is not equal", - args: args{ - timestamp: 1100, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Ne, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when the timestamp greater or equal", - args: args{ - timestamp: 1000, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Ge, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when the timestamp is greater", - args: args{ - timestamp: 1100, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Gt, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when the timestamp is less or equal", - args: args{ - timestamp: 1000, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Le, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return true when the timestamp is less", - args: args{ - timestamp: 900, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - want: want{ - want: true, - }, - }, - { - name: "return false when the operator is invalid", - args: args{ - timestamp: 1000, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Operator(100), - }, - }, - want: want{ - want: false, - }, - }, - - { - name: "return false when the timestamp does not match the Eq operator", - args: args{ - timestamp: 1100, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Eq, - }, - }, - want: want{ - want: false, - }, - }, - { - name: "return false when the timestamp does not match the Ne operator", - args: args{ - timestamp: 1000, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Ne, - }, - }, - want: want{ - want: false, - }, - }, - { - name: "return false when the timestamp does not match the Ge operator", - args: args{ - timestamp: 900, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Ge, - }, - }, - want: want{ - want: false, - }, - }, - { - name: "return false when the timestamp does not match the Gt operator", - args: args{ - timestamp: 900, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Gt, - }, - }, - want: want{ - want: false, - }, - }, - { - name: "return false when the timestamp does not match the Le operator", - args: args{ - timestamp: 1100, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Le, - }, - }, - want: want{ - want: false, - }, - }, - { - name: "return false when the timestamp does not match the Lt operator", - args: args{ - timestamp: 1100, - ts: &payload.Remove_Timestamp{ - Timestamp: 1000, - Operator: payload.Remove_Timestamp_Lt, - }, - }, - want: want{ - want: false, - }, - }, - } - - for _, tc := range tests { - test := tc - t.Run(test.name, func(tt *testing.T) { - tt.Parallel() - defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) - if test.beforeFunc != nil { - test.beforeFunc(tt, test.args) - } - if test.afterFunc != nil { - defer test.afterFunc(tt, test.args) - } - checkFunc := test.checkFunc - if test.checkFunc == nil { - checkFunc = defaultCheckFunc - } - - got := timestampOpFunc(test.args.ts)(test.args.timestamp) - if err := checkFunc(test.want, got); err != nil { - tt.Errorf("error = %v", err) - } - }) - } -} - // NOT IMPLEMENTED BELOW // // func Test_server_StreamRemove(t *testing.T) { diff --git a/pkg/gateway/filter/handler/grpc/handler.go b/pkg/gateway/filter/handler/grpc/handler.go index 2d09d0be40..45ccf9da5a 100644 --- a/pkg/gateway/filter/handler/grpc/handler.go +++ b/pkg/gateway/filter/handler/grpc/handler.go @@ -3095,40 +3095,7 @@ func (s *server) Remove(ctx context.Context, req *payload.Remove_Request) (loc * span.End() } }() - loc, err = s.gateway.Remove(ctx, req, s.copts...) - if err != nil { - reqInfo := &errdetails.RequestInfo{ - RequestId: req.GetId().GetId(), - } - resInfo := &errdetails.ResourceInfo{ - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - } - if errors.Is(err, errors.ErrGRPCClientConnNotFound("*")) { - err = status.WrapWithInternal( - vald.RemoveRPCName+" API connection not found", err, - reqInfo, - resInfo, - ) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeInternal(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - st, msg, err := status.ParseError(err, codes.Internal, - vald.RemoveRPCName+" gRPC error response", - reqInfo, - resInfo, - ) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - return loc, nil + return s.gateway.Remove(ctx, req, s.copts...) } func (s *server) StreamRemove(stream vald.Remove_StreamRemoveServer) (err error) { @@ -3252,49 +3219,6 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ return locs, errs } -func (s *server) RemoveByTimestamp(ctx context.Context, req *payload.Remove_TimestampRequest) (*payload.Object_Locations, error) { - ctx, span := trace.StartSpan(grpc.WithGRPCMethod(ctx, vald.PackageName+"."+vald.FilterRPCServiceName+"/"+vald.RemoveByTimestampRPCName), apiName+"/"+vald.RemoveByTimestampRPCName) - defer func() { - if span != nil { - span.End() - } - }() - locs, err := s.gateway.RemoveByTimestamp(ctx, req, s.copts...) - if err != nil { - reqInfo := &errdetails.RequestInfo{ - ServingData: errdetails.Serialize(req), - } - resInfo := &errdetails.ResourceInfo{ - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - } - if errors.Is(err, errors.ErrGRPCClientConnNotFound("*")) { - err = status.WrapWithInternal( - vald.RemoveByTimestampRPCName+" API connection not found", err, - reqInfo, - resInfo, - ) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeInternal(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - st, msg, err := status.ParseError(err, codes.Internal, - vald.RemoveByTimestampRPCName+" gRPC error response", - reqInfo, - resInfo, - ) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - return locs, nil -} - func (s *server) GetObject(ctx context.Context, req *payload.Object_VectorRequest) (vec *payload.Object_Vector, err error) { ctx, span := trace.StartSpan(grpc.WithGRPCMethod(ctx, vald.PackageName+"."+vald.FilterRPCServiceName+"/"+vald.GetObjectRPCName), apiName+"/"+vald.GetObjectRPCName) defer func() { diff --git a/pkg/gateway/lb/handler/grpc/handler.go b/pkg/gateway/lb/handler/grpc/handler.go index e8f54a9a50..2f25951b13 100644 --- a/pkg/gateway/lb/handler/grpc/handler.go +++ b/pkg/gateway/lb/handler/grpc/handler.go @@ -2764,131 +2764,6 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ return locs, errs } -func (s *server) RemoveByTimestamp(ctx context.Context, req *payload.Remove_TimestampRequest) (locs *payload.Object_Locations, errs error) { - ctx, span := trace.StartSpan(grpc.WithGRPCMethod(ctx, vald.PackageName+"."+vald.RemoveRPCServiceName+"/"+vald.RemoveByTimestampRPCName), apiName+"/"+vald.RemoveByTimestampRPCName) - defer func() { - if span != nil { - span.End() - } - }() - - var mu sync.Mutex - var emu sync.Mutex - visited := make(map[string]int) // map[uuid: position of locs] - locs = new(payload.Object_Locations) - - err := s.gateway.BroadCast(ctx, func(ctx context.Context, target string, vc vald.Client, copts ...grpc.CallOption) (err error) { - sctx, sspan := trace.StartSpan(grpc.WithGRPCMethod(ctx, "BroadCast/"+target), apiName+"/removeByTimestamp/BroadCast/"+target) - defer func() { - if sspan != nil { - sspan.End() - } - }() - - res, err := vc.RemoveByTimestamp(sctx, req, copts...) - if err != nil { - if errors.Is(err, errors.ErrGRPCClientConnNotFound("*")) { - err = status.WrapWithInternal( - vald.RemoveByTimestampRPCName+" API connection not found", err, - ) - if sspan != nil { - sspan.RecordError(err) - sspan.SetAttributes(trace.StatusCodeInternal(err.Error())...) - sspan.SetStatus(trace.StatusError, err.Error()) - } - log.Error(err) - emu.Lock() - errs = errors.Join(errs, err) - emu.Unlock() - return nil - } - var ( - st *status.Status - msg string - ) - st, msg, err = status.ParseError(err, codes.Internal, - vald.RemoveByTimestampRPCName+" gRPC error response", - ) - if sspan != nil { - sspan.RecordError(err) - sspan.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - sspan.SetStatus(trace.StatusError, err.Error()) - } - if err != nil && st.Code() != codes.NotFound { - log.Error(err) - emu.Lock() - errs = errors.Join(errs, err) - emu.Unlock() - return nil - } - } - - if res != nil && len(res.GetLocations()) > 0 { - for _, loc := range res.GetLocations() { - mu.Lock() - if pos, ok := visited[loc.GetUuid()]; !ok { - locs.Locations = append(locs.GetLocations(), loc) - visited[loc.GetUuid()] = len(locs.Locations) - 1 - } else { - if pos < len(locs.GetLocations()) { - locs.GetLocations()[pos].Ips = append(locs.GetLocations()[pos].Ips, loc.GetIps()...) - if s := locs.GetLocations()[pos].Name; len(s) == 0 { - locs.GetLocations()[pos].Name = loc.GetName() - } else { - // strings.Join is used because '+=' causes performance degradation when the number of characters is large. - locs.GetLocations()[pos].Name = strings.Join([]string{ - s, loc.GetName(), - }, ",") - } - } - } - mu.Unlock() - } - } - return nil - }) - if errs != nil { - err = errors.Join(err, errs) - } - if err != nil { - st, msg, err := status.ParseError(err, codes.Internal, - "failed to parse "+vald.RemoveByTimestampRPCName+" gRPC error response", - &errdetails.RequestInfo{ - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - }, - ) - log.Error(err) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - if locs == nil || len(locs.GetLocations()) == 0 { - err = status.WrapWithNotFound( - vald.RemoveByTimestampRPCName+" API remove target not found", errors.ErrIndexNotFound, - &errdetails.RequestInfo{ - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceName: fmt.Sprintf("%s: %s(%s)", apiName, s.name, s.ip), - }, - ) - log.Error(err) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeNotFound(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - return nil, err - } - return locs, nil -} - func (s *server) getObject(ctx context.Context, uuid string) (vec *payload.Object_Vector, err error) { ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "getObject"), apiName+"/"+vald.GetObjectRPCName+"/getObject") defer func() { diff --git a/tests/e2e/crud/crud_test.go b/tests/e2e/crud/crud_test.go index 1a39d4c063..b74664e492 100644 --- a/tests/e2e/crud/crud_test.go +++ b/tests/e2e/crud/crud_test.go @@ -245,22 +245,6 @@ func TestE2ERemoveOnly(t *testing.T) { } } -func TestE2ERemoveByTimestampOnly(t *testing.T) { - t.Cleanup(teardown) - ctx := context.Background() - - op, err := operation.New(host, port) - if err != nil { - t.Fatalf("an error occurred: %s", err) - } - - // Remove all vector data after the current - 1 hour. - err = op.RemoveByTimestamp(t, ctx, time.Now().Add(-time.Hour).UnixNano()) - if err != nil { - t.Fatalf("an error occurred: %s", err) - } -} - func TestE2EInsertAndSearch(t *testing.T) { t.Cleanup(teardown) ctx := context.Background() @@ -395,12 +379,6 @@ func TestE2EStandardCRUD(t *testing.T) { if err != nil { t.Fatalf("an error occurred: %s", err) } - - // Remove all vector data after the current - 1 hour. - err = op.RemoveByTimestamp(t, ctx, time.Now().Add(-time.Hour).UnixNano()) - if err != nil { - t.Fatalf("an error occurred: %s", err) - } } func TestE2ECRUDWithSkipStrictExistCheck(t *testing.T) { diff --git a/tests/e2e/operation/operation.go b/tests/e2e/operation/operation.go index 4cab18d0a1..1b4856cfa4 100644 --- a/tests/e2e/operation/operation.go +++ b/tests/e2e/operation/operation.go @@ -88,7 +88,6 @@ type Client interface { Update(t *testing.T, ctx context.Context, ds Dataset) error Upsert(t *testing.T, ctx context.Context, ds Dataset) error Remove(t *testing.T, ctx context.Context, ds Dataset) error - RemoveByTimestamp(t *testing.T, ctx context.Context, timestamp int64) error InsertWithParameters( t *testing.T, ctx context.Context, diff --git a/tests/e2e/operation/stream.go b/tests/e2e/operation/stream.go index 88d1417072..d2612b5684 100644 --- a/tests/e2e/operation/stream.go +++ b/tests/e2e/operation/stream.go @@ -1025,33 +1025,6 @@ func (c *client) RemoveWithParameters( return rerr } -func (c *client) RemoveByTimestamp(t *testing.T, ctx context.Context, timestamp int64) error { - t.Log("removeByTimestamp operation started") - - client, err := c.getClient(ctx) - if err != nil { - return err - } - - req := &payload.Remove_TimestampRequest{ - Timestamps: []*payload.Remove_Timestamp{ - { - Timestamp: timestamp, - Operator: payload.Remove_Timestamp_Gt, - }, - }, - } - - _, err = client.RemoveByTimestamp(ctx, req) - if err != nil { - return err - } - - t.Log("removeByTimestamp operation finished") - - return nil -} - func (c *client) Exists(t *testing.T, ctx context.Context, id string) error { t.Log("exists operation started")