diff --git a/api/deployment/v1/message.go-helpers.pb.go b/api/deployment/v1/message.go-helpers.pb.go index 227d2e2687..cb8642366e 100644 --- a/api/deployment/v1/message.go-helpers.pb.go +++ b/api/deployment/v1/message.go-helpers.pb.go @@ -1743,780 +1743,3 @@ func (this *WorkerDeploymentSummary) Equal(that interface{}) bool { return proto.Equal(this, that1) } - -// Marshal an object of type AddVersionToWorkerDeploymentRequest to the protobuf v3 wire format -func (val *AddVersionToWorkerDeploymentRequest) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type AddVersionToWorkerDeploymentRequest from the protobuf v3 wire format -func (val *AddVersionToWorkerDeploymentRequest) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *AddVersionToWorkerDeploymentRequest) Size() int { - return proto.Size(val) -} - -// Equal returns whether two AddVersionToWorkerDeploymentRequest values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *AddVersionToWorkerDeploymentRequest) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *AddVersionToWorkerDeploymentRequest - switch t := that.(type) { - case *AddVersionToWorkerDeploymentRequest: - that1 = t - case AddVersionToWorkerDeploymentRequest: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type AddVersionToWorkerDeploymentResponse to the protobuf v3 wire format -func (val *AddVersionToWorkerDeploymentResponse) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type AddVersionToWorkerDeploymentResponse from the protobuf v3 wire format -func (val *AddVersionToWorkerDeploymentResponse) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *AddVersionToWorkerDeploymentResponse) Size() int { - return proto.Size(val) -} - -// Equal returns whether two AddVersionToWorkerDeploymentResponse values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *AddVersionToWorkerDeploymentResponse) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *AddVersionToWorkerDeploymentResponse - switch t := that.(type) { - case *AddVersionToWorkerDeploymentResponse: - that1 = t - case AddVersionToWorkerDeploymentResponse: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type TaskQueueData to the protobuf v3 wire format -func (val *TaskQueueData) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type TaskQueueData from the protobuf v3 wire format -func (val *TaskQueueData) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *TaskQueueData) Size() int { - return proto.Size(val) -} - -// Equal returns whether two TaskQueueData values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *TaskQueueData) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *TaskQueueData - switch t := that.(type) { - case *TaskQueueData: - that1 = t - case TaskQueueData: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type DeploymentLocalState to the protobuf v3 wire format -func (val *DeploymentLocalState) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type DeploymentLocalState from the protobuf v3 wire format -func (val *DeploymentLocalState) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *DeploymentLocalState) Size() int { - return proto.Size(val) -} - -// Equal returns whether two DeploymentLocalState values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *DeploymentLocalState) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *DeploymentLocalState - switch t := that.(type) { - case *DeploymentLocalState: - that1 = t - case DeploymentLocalState: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type DeploymentWorkflowArgs to the protobuf v3 wire format -func (val *DeploymentWorkflowArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type DeploymentWorkflowArgs from the protobuf v3 wire format -func (val *DeploymentWorkflowArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *DeploymentWorkflowArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two DeploymentWorkflowArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *DeploymentWorkflowArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *DeploymentWorkflowArgs - switch t := that.(type) { - case *DeploymentWorkflowArgs: - that1 = t - case DeploymentWorkflowArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type DeploymentSeriesWorkflowArgs to the protobuf v3 wire format -func (val *DeploymentSeriesWorkflowArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type DeploymentSeriesWorkflowArgs from the protobuf v3 wire format -func (val *DeploymentSeriesWorkflowArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *DeploymentSeriesWorkflowArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two DeploymentSeriesWorkflowArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *DeploymentSeriesWorkflowArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *DeploymentSeriesWorkflowArgs - switch t := that.(type) { - case *DeploymentSeriesWorkflowArgs: - that1 = t - case DeploymentSeriesWorkflowArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SeriesLocalState to the protobuf v3 wire format -func (val *SeriesLocalState) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SeriesLocalState from the protobuf v3 wire format -func (val *SeriesLocalState) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SeriesLocalState) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SeriesLocalState values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SeriesLocalState) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SeriesLocalState - switch t := that.(type) { - case *SeriesLocalState: - that1 = t - case SeriesLocalState: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type RegisterWorkerInDeploymentArgs to the protobuf v3 wire format -func (val *RegisterWorkerInDeploymentArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type RegisterWorkerInDeploymentArgs from the protobuf v3 wire format -func (val *RegisterWorkerInDeploymentArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *RegisterWorkerInDeploymentArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two RegisterWorkerInDeploymentArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *RegisterWorkerInDeploymentArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *RegisterWorkerInDeploymentArgs - switch t := that.(type) { - case *RegisterWorkerInDeploymentArgs: - that1 = t - case RegisterWorkerInDeploymentArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncDeploymentStateArgs to the protobuf v3 wire format -func (val *SyncDeploymentStateArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncDeploymentStateArgs from the protobuf v3 wire format -func (val *SyncDeploymentStateArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncDeploymentStateArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncDeploymentStateArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncDeploymentStateArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncDeploymentStateArgs - switch t := that.(type) { - case *SyncDeploymentStateArgs: - that1 = t - case SyncDeploymentStateArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncDeploymentStateResponse to the protobuf v3 wire format -func (val *SyncDeploymentStateResponse) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncDeploymentStateResponse from the protobuf v3 wire format -func (val *SyncDeploymentStateResponse) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncDeploymentStateResponse) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncDeploymentStateResponse values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncDeploymentStateResponse) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncDeploymentStateResponse - switch t := that.(type) { - case *SyncDeploymentStateResponse: - that1 = t - case SyncDeploymentStateResponse: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type QueryDescribeDeploymentResponse to the protobuf v3 wire format -func (val *QueryDescribeDeploymentResponse) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type QueryDescribeDeploymentResponse from the protobuf v3 wire format -func (val *QueryDescribeDeploymentResponse) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *QueryDescribeDeploymentResponse) Size() int { - return proto.Size(val) -} - -// Equal returns whether two QueryDescribeDeploymentResponse values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *QueryDescribeDeploymentResponse) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *QueryDescribeDeploymentResponse - switch t := that.(type) { - case *QueryDescribeDeploymentResponse: - that1 = t - case QueryDescribeDeploymentResponse: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type DeploymentWorkflowMemo to the protobuf v3 wire format -func (val *DeploymentWorkflowMemo) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type DeploymentWorkflowMemo from the protobuf v3 wire format -func (val *DeploymentWorkflowMemo) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *DeploymentWorkflowMemo) Size() int { - return proto.Size(val) -} - -// Equal returns whether two DeploymentWorkflowMemo values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *DeploymentWorkflowMemo) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *DeploymentWorkflowMemo - switch t := that.(type) { - case *DeploymentWorkflowMemo: - that1 = t - case DeploymentWorkflowMemo: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type StartDeploymentSeriesRequest to the protobuf v3 wire format -func (val *StartDeploymentSeriesRequest) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type StartDeploymentSeriesRequest from the protobuf v3 wire format -func (val *StartDeploymentSeriesRequest) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *StartDeploymentSeriesRequest) Size() int { - return proto.Size(val) -} - -// Equal returns whether two StartDeploymentSeriesRequest values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *StartDeploymentSeriesRequest) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *StartDeploymentSeriesRequest - switch t := that.(type) { - case *StartDeploymentSeriesRequest: - that1 = t - case StartDeploymentSeriesRequest: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncUserDataRequest to the protobuf v3 wire format -func (val *SyncUserDataRequest) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncUserDataRequest from the protobuf v3 wire format -func (val *SyncUserDataRequest) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncUserDataRequest) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncUserDataRequest values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncUserDataRequest) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncUserDataRequest - switch t := that.(type) { - case *SyncUserDataRequest: - that1 = t - case SyncUserDataRequest: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncUserDataResponse to the protobuf v3 wire format -func (val *SyncUserDataResponse) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncUserDataResponse from the protobuf v3 wire format -func (val *SyncUserDataResponse) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncUserDataResponse) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncUserDataResponse values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncUserDataResponse) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncUserDataResponse - switch t := that.(type) { - case *SyncUserDataResponse: - that1 = t - case SyncUserDataResponse: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type CheckUserDataPropagationRequest to the protobuf v3 wire format -func (val *CheckUserDataPropagationRequest) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type CheckUserDataPropagationRequest from the protobuf v3 wire format -func (val *CheckUserDataPropagationRequest) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *CheckUserDataPropagationRequest) Size() int { - return proto.Size(val) -} - -// Equal returns whether two CheckUserDataPropagationRequest values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *CheckUserDataPropagationRequest) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *CheckUserDataPropagationRequest - switch t := that.(type) { - case *CheckUserDataPropagationRequest: - that1 = t - case CheckUserDataPropagationRequest: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SetCurrentDeploymentArgs to the protobuf v3 wire format -func (val *SetCurrentDeploymentArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SetCurrentDeploymentArgs from the protobuf v3 wire format -func (val *SetCurrentDeploymentArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SetCurrentDeploymentArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SetCurrentDeploymentArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SetCurrentDeploymentArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SetCurrentDeploymentArgs - switch t := that.(type) { - case *SetCurrentDeploymentArgs: - that1 = t - case SetCurrentDeploymentArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SetCurrentDeploymentResponse to the protobuf v3 wire format -func (val *SetCurrentDeploymentResponse) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SetCurrentDeploymentResponse from the protobuf v3 wire format -func (val *SetCurrentDeploymentResponse) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SetCurrentDeploymentResponse) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SetCurrentDeploymentResponse values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SetCurrentDeploymentResponse) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SetCurrentDeploymentResponse - switch t := that.(type) { - case *SetCurrentDeploymentResponse: - that1 = t - case SetCurrentDeploymentResponse: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncDeploymentStateActivityArgs to the protobuf v3 wire format -func (val *SyncDeploymentStateActivityArgs) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncDeploymentStateActivityArgs from the protobuf v3 wire format -func (val *SyncDeploymentStateActivityArgs) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncDeploymentStateActivityArgs) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncDeploymentStateActivityArgs values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncDeploymentStateActivityArgs) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncDeploymentStateActivityArgs - switch t := that.(type) { - case *SyncDeploymentStateActivityArgs: - that1 = t - case SyncDeploymentStateActivityArgs: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type SyncDeploymentStateActivityResult to the protobuf v3 wire format -func (val *SyncDeploymentStateActivityResult) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type SyncDeploymentStateActivityResult from the protobuf v3 wire format -func (val *SyncDeploymentStateActivityResult) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *SyncDeploymentStateActivityResult) Size() int { - return proto.Size(val) -} - -// Equal returns whether two SyncDeploymentStateActivityResult values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *SyncDeploymentStateActivityResult) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *SyncDeploymentStateActivityResult - switch t := that.(type) { - case *SyncDeploymentStateActivityResult: - that1 = t - case SyncDeploymentStateActivityResult: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} - -// Marshal an object of type DeploymentSeriesWorkflowMemo to the protobuf v3 wire format -func (val *DeploymentSeriesWorkflowMemo) Marshal() ([]byte, error) { - return proto.Marshal(val) -} - -// Unmarshal an object of type DeploymentSeriesWorkflowMemo from the protobuf v3 wire format -func (val *DeploymentSeriesWorkflowMemo) Unmarshal(buf []byte) error { - return proto.Unmarshal(buf, val) -} - -// Size returns the size of the object, in bytes, once serialized -func (val *DeploymentSeriesWorkflowMemo) Size() int { - return proto.Size(val) -} - -// Equal returns whether two DeploymentSeriesWorkflowMemo values are equivalent by recursively -// comparing the message's fields. -// For more information see the documentation for -// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal -func (this *DeploymentSeriesWorkflowMemo) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - var that1 *DeploymentSeriesWorkflowMemo - switch t := that.(type) { - case *DeploymentSeriesWorkflowMemo: - that1 = t - case DeploymentSeriesWorkflowMemo: - that1 = &t - default: - return false - } - - return proto.Equal(this, that1) -} diff --git a/api/deployment/v1/message.pb.go b/api/deployment/v1/message.pb.go index c7b2b20a64..961c519e00 100644 --- a/api/deployment/v1/message.pb.go +++ b/api/deployment/v1/message.pb.go @@ -3100,1195 +3100,6 @@ func (x *WorkerDeploymentSummary) GetRampingVersionSummary() *v11.WorkerDeployme return nil } -// Used as Worker Deployment Version workflow activity input: -type AddVersionToWorkerDeploymentRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - DeploymentName string `protobuf:"bytes,1,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` - UpdateArgs *AddVersionUpdateArgs `protobuf:"bytes,2,opt,name=update_args,json=updateArgs,proto3" json:"update_args,omitempty"` - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AddVersionToWorkerDeploymentRequest) Reset() { - *x = AddVersionToWorkerDeploymentRequest{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AddVersionToWorkerDeploymentRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddVersionToWorkerDeploymentRequest) ProtoMessage() {} - -func (x *AddVersionToWorkerDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[47] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddVersionToWorkerDeploymentRequest.ProtoReflect.Descriptor instead. -func (*AddVersionToWorkerDeploymentRequest) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{47} -} - -func (x *AddVersionToWorkerDeploymentRequest) GetDeploymentName() string { - if x != nil { - return x.DeploymentName - } - return "" -} - -func (x *AddVersionToWorkerDeploymentRequest) GetUpdateArgs() *AddVersionUpdateArgs { - if x != nil { - return x.UpdateArgs - } - return nil -} - -func (x *AddVersionToWorkerDeploymentRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// Used as Worker Deployment Version workflow activity output: -type AddVersionToWorkerDeploymentResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AddVersionToWorkerDeploymentResponse) Reset() { - *x = AddVersionToWorkerDeploymentResponse{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AddVersionToWorkerDeploymentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddVersionToWorkerDeploymentResponse) ProtoMessage() {} - -func (x *AddVersionToWorkerDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[48] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddVersionToWorkerDeploymentResponse.ProtoReflect.Descriptor instead. -func (*AddVersionToWorkerDeploymentResponse) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{48} -} - -// //////////////////////////////////////////////////////////////////////// -// Below this line are the messages for the pre-release Deployment APIs // -// //////////////////////////////////////////////////////////////////////// -// Data for each deployment+task queue pair. This is stored in each deployment (for each task -// queue), and synced to task queue user data (for each deployment). -type TaskQueueData struct { - state protoimpl.MessageState `protogen:"open.v1"` - FirstPollerTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=first_poller_time,json=firstPollerTime,proto3" json:"first_poller_time,omitempty"` - LastBecameCurrentTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_became_current_time,json=lastBecameCurrentTime,proto3" json:"last_became_current_time,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TaskQueueData) Reset() { - *x = TaskQueueData{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TaskQueueData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskQueueData) ProtoMessage() {} - -func (x *TaskQueueData) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[49] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskQueueData.ProtoReflect.Descriptor instead. -func (*TaskQueueData) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{49} -} - -func (x *TaskQueueData) GetFirstPollerTime() *timestamppb.Timestamp { - if x != nil { - return x.FirstPollerTime - } - return nil -} - -func (x *TaskQueueData) GetLastBecameCurrentTime() *timestamppb.Timestamp { - if x != nil { - return x.LastBecameCurrentTime - } - return nil -} - -type DeploymentLocalState struct { - state protoimpl.MessageState `protogen:"open.v1"` - Deployment *v11.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - TaskQueueFamilies map[string]*DeploymentLocalState_TaskQueueFamilyData `protobuf:"bytes,2,rep,name=task_queue_families,json=taskQueueFamilies,proto3" json:"task_queue_families,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - IsCurrent bool `protobuf:"varint,3,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"` - LastBecameCurrentTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_became_current_time,json=lastBecameCurrentTime,proto3" json:"last_became_current_time,omitempty"` - CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - Metadata map[string]*v12.Payload `protobuf:"bytes,5,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - StartedSeriesWorkflow bool `protobuf:"varint,7,opt,name=started_series_workflow,json=startedSeriesWorkflow,proto3" json:"started_series_workflow,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentLocalState) Reset() { - *x = DeploymentLocalState{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentLocalState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentLocalState) ProtoMessage() {} - -func (x *DeploymentLocalState) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[50] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentLocalState.ProtoReflect.Descriptor instead. -func (*DeploymentLocalState) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{50} -} - -func (x *DeploymentLocalState) GetDeployment() *v11.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *DeploymentLocalState) GetTaskQueueFamilies() map[string]*DeploymentLocalState_TaskQueueFamilyData { - if x != nil { - return x.TaskQueueFamilies - } - return nil -} - -func (x *DeploymentLocalState) GetIsCurrent() bool { - if x != nil { - return x.IsCurrent - } - return false -} - -func (x *DeploymentLocalState) GetLastBecameCurrentTime() *timestamppb.Timestamp { - if x != nil { - return x.LastBecameCurrentTime - } - return nil -} - -func (x *DeploymentLocalState) GetCreateTime() *timestamppb.Timestamp { - if x != nil { - return x.CreateTime - } - return nil -} - -func (x *DeploymentLocalState) GetMetadata() map[string]*v12.Payload { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *DeploymentLocalState) GetStartedSeriesWorkflow() bool { - if x != nil { - return x.StartedSeriesWorkflow - } - return false -} - -// used as deployment workflow input: -type DeploymentWorkflowArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - NamespaceName string `protobuf:"bytes,1,opt,name=namespace_name,json=namespaceName,proto3" json:"namespace_name,omitempty"` - NamespaceId string `protobuf:"bytes,2,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - State *DeploymentLocalState `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentWorkflowArgs) Reset() { - *x = DeploymentWorkflowArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentWorkflowArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentWorkflowArgs) ProtoMessage() {} - -func (x *DeploymentWorkflowArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[51] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentWorkflowArgs.ProtoReflect.Descriptor instead. -func (*DeploymentWorkflowArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{51} -} - -func (x *DeploymentWorkflowArgs) GetNamespaceName() string { - if x != nil { - return x.NamespaceName - } - return "" -} - -func (x *DeploymentWorkflowArgs) GetNamespaceId() string { - if x != nil { - return x.NamespaceId - } - return "" -} - -func (x *DeploymentWorkflowArgs) GetState() *DeploymentLocalState { - if x != nil { - return x.State - } - return nil -} - -// used as deployment series workflow input: -type DeploymentSeriesWorkflowArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - NamespaceName string `protobuf:"bytes,1,opt,name=namespace_name,json=namespaceName,proto3" json:"namespace_name,omitempty"` - NamespaceId string `protobuf:"bytes,2,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - SeriesName string `protobuf:"bytes,3,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` - State *SeriesLocalState `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentSeriesWorkflowArgs) Reset() { - *x = DeploymentSeriesWorkflowArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentSeriesWorkflowArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentSeriesWorkflowArgs) ProtoMessage() {} - -func (x *DeploymentSeriesWorkflowArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[52] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentSeriesWorkflowArgs.ProtoReflect.Descriptor instead. -func (*DeploymentSeriesWorkflowArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{52} -} - -func (x *DeploymentSeriesWorkflowArgs) GetNamespaceName() string { - if x != nil { - return x.NamespaceName - } - return "" -} - -func (x *DeploymentSeriesWorkflowArgs) GetNamespaceId() string { - if x != nil { - return x.NamespaceId - } - return "" -} - -func (x *DeploymentSeriesWorkflowArgs) GetSeriesName() string { - if x != nil { - return x.SeriesName - } - return "" -} - -func (x *DeploymentSeriesWorkflowArgs) GetState() *SeriesLocalState { - if x != nil { - return x.State - } - return nil -} - -type SeriesLocalState struct { - state protoimpl.MessageState `protogen:"open.v1"` - CurrentBuildId string `protobuf:"bytes,1,opt,name=current_build_id,json=currentBuildId,proto3" json:"current_build_id,omitempty"` - CurrentChangedTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=current_changed_time,json=currentChangedTime,proto3" json:"current_changed_time,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SeriesLocalState) Reset() { - *x = SeriesLocalState{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SeriesLocalState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SeriesLocalState) ProtoMessage() {} - -func (x *SeriesLocalState) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[53] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SeriesLocalState.ProtoReflect.Descriptor instead. -func (*SeriesLocalState) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{53} -} - -func (x *SeriesLocalState) GetCurrentBuildId() string { - if x != nil { - return x.CurrentBuildId - } - return "" -} - -func (x *SeriesLocalState) GetCurrentChangedTime() *timestamppb.Timestamp { - if x != nil { - return x.CurrentChangedTime - } - return nil -} - -// used as deployment workflow update input: -type RegisterWorkerInDeploymentArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - TaskQueueName string `protobuf:"bytes,1,opt,name=task_queue_name,json=taskQueueName,proto3" json:"task_queue_name,omitempty"` - TaskQueueType v1.TaskQueueType `protobuf:"varint,2,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` - FirstPollerTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=first_poller_time,json=firstPollerTime,proto3" json:"first_poller_time,omitempty"` - MaxTaskQueues int32 `protobuf:"varint,4,opt,name=max_task_queues,json=maxTaskQueues,proto3" json:"max_task_queues,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RegisterWorkerInDeploymentArgs) Reset() { - *x = RegisterWorkerInDeploymentArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RegisterWorkerInDeploymentArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RegisterWorkerInDeploymentArgs) ProtoMessage() {} - -func (x *RegisterWorkerInDeploymentArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[54] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RegisterWorkerInDeploymentArgs.ProtoReflect.Descriptor instead. -func (*RegisterWorkerInDeploymentArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{54} -} - -func (x *RegisterWorkerInDeploymentArgs) GetTaskQueueName() string { - if x != nil { - return x.TaskQueueName - } - return "" -} - -func (x *RegisterWorkerInDeploymentArgs) GetTaskQueueType() v1.TaskQueueType { - if x != nil { - return x.TaskQueueType - } - return v1.TaskQueueType(0) -} - -func (x *RegisterWorkerInDeploymentArgs) GetFirstPollerTime() *timestamppb.Timestamp { - if x != nil { - return x.FirstPollerTime - } - return nil -} - -func (x *RegisterWorkerInDeploymentArgs) GetMaxTaskQueues() int32 { - if x != nil { - return x.MaxTaskQueues - } - return 0 -} - -// used as deployment series workflow update input (sent from series workflow): -type SyncDeploymentStateArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - SetCurrent *SyncDeploymentStateArgs_SetCurrent `protobuf:"bytes,1,opt,name=set_current,json=setCurrent,proto3" json:"set_current,omitempty"` - // currently, update_metadata will only be set if set_current.last_became_current_time is - // present. this could change in the future. - UpdateMetadata *v11.UpdateDeploymentMetadata `protobuf:"bytes,2,opt,name=update_metadata,json=updateMetadata,proto3" json:"update_metadata,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncDeploymentStateArgs) Reset() { - *x = SyncDeploymentStateArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncDeploymentStateArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncDeploymentStateArgs) ProtoMessage() {} - -func (x *SyncDeploymentStateArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[55] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncDeploymentStateArgs.ProtoReflect.Descriptor instead. -func (*SyncDeploymentStateArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{55} -} - -func (x *SyncDeploymentStateArgs) GetSetCurrent() *SyncDeploymentStateArgs_SetCurrent { - if x != nil { - return x.SetCurrent - } - return nil -} - -func (x *SyncDeploymentStateArgs) GetUpdateMetadata() *v11.UpdateDeploymentMetadata { - if x != nil { - return x.UpdateMetadata - } - return nil -} - -// used as deployment series workflow update response (sent from series workflow): -type SyncDeploymentStateResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - DeploymentLocalState *DeploymentLocalState `protobuf:"bytes,1,opt,name=deployment_local_state,json=deploymentLocalState,proto3" json:"deployment_local_state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncDeploymentStateResponse) Reset() { - *x = SyncDeploymentStateResponse{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncDeploymentStateResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncDeploymentStateResponse) ProtoMessage() {} - -func (x *SyncDeploymentStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[56] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncDeploymentStateResponse.ProtoReflect.Descriptor instead. -func (*SyncDeploymentStateResponse) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{56} -} - -func (x *SyncDeploymentStateResponse) GetDeploymentLocalState() *DeploymentLocalState { - if x != nil { - return x.DeploymentLocalState - } - return nil -} - -// used as deployment workflow query response: -type QueryDescribeDeploymentResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - DeploymentLocalState *DeploymentLocalState `protobuf:"bytes,1,opt,name=deployment_local_state,json=deploymentLocalState,proto3" json:"deployment_local_state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *QueryDescribeDeploymentResponse) Reset() { - *x = QueryDescribeDeploymentResponse{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *QueryDescribeDeploymentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryDescribeDeploymentResponse) ProtoMessage() {} - -func (x *QueryDescribeDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[57] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryDescribeDeploymentResponse.ProtoReflect.Descriptor instead. -func (*QueryDescribeDeploymentResponse) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{57} -} - -func (x *QueryDescribeDeploymentResponse) GetDeploymentLocalState() *DeploymentLocalState { - if x != nil { - return x.DeploymentLocalState - } - return nil -} - -// used as deployment workflow memo: -type DeploymentWorkflowMemo struct { - state protoimpl.MessageState `protogen:"open.v1"` - Deployment *v11.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - IsCurrentDeployment bool `protobuf:"varint,3,opt,name=is_current_deployment,json=isCurrentDeployment,proto3" json:"is_current_deployment,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentWorkflowMemo) Reset() { - *x = DeploymentWorkflowMemo{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentWorkflowMemo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentWorkflowMemo) ProtoMessage() {} - -func (x *DeploymentWorkflowMemo) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[58] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentWorkflowMemo.ProtoReflect.Descriptor instead. -func (*DeploymentWorkflowMemo) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{58} -} - -func (x *DeploymentWorkflowMemo) GetDeployment() *v11.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *DeploymentWorkflowMemo) GetCreateTime() *timestamppb.Timestamp { - if x != nil { - return x.CreateTime - } - return nil -} - -func (x *DeploymentWorkflowMemo) GetIsCurrentDeployment() bool { - if x != nil { - return x.IsCurrentDeployment - } - return false -} - -// used as deployment workflow activity input: -type StartDeploymentSeriesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - SeriesName string `protobuf:"bytes,1,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` - RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *StartDeploymentSeriesRequest) Reset() { - *x = StartDeploymentSeriesRequest{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *StartDeploymentSeriesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartDeploymentSeriesRequest) ProtoMessage() {} - -func (x *StartDeploymentSeriesRequest) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[59] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StartDeploymentSeriesRequest.ProtoReflect.Descriptor instead. -func (*StartDeploymentSeriesRequest) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{59} -} - -func (x *StartDeploymentSeriesRequest) GetSeriesName() string { - if x != nil { - return x.SeriesName - } - return "" -} - -func (x *StartDeploymentSeriesRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// used as deployment workflow activity input: -type SyncUserDataRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Deployment *v11.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - Sync []*SyncUserDataRequest_SyncUserData `protobuf:"bytes,2,rep,name=sync,proto3" json:"sync,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncUserDataRequest) Reset() { - *x = SyncUserDataRequest{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncUserDataRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncUserDataRequest) ProtoMessage() {} - -func (x *SyncUserDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[60] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncUserDataRequest.ProtoReflect.Descriptor instead. -func (*SyncUserDataRequest) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{60} -} - -func (x *SyncUserDataRequest) GetDeployment() *v11.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *SyncUserDataRequest) GetSync() []*SyncUserDataRequest_SyncUserData { - if x != nil { - return x.Sync - } - return nil -} - -// used as deployment workflow activity output: -type SyncUserDataResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - TaskQueueMaxVersions map[string]int64 `protobuf:"bytes,1,rep,name=task_queue_max_versions,json=taskQueueMaxVersions,proto3" json:"task_queue_max_versions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncUserDataResponse) Reset() { - *x = SyncUserDataResponse{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncUserDataResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncUserDataResponse) ProtoMessage() {} - -func (x *SyncUserDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[61] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncUserDataResponse.ProtoReflect.Descriptor instead. -func (*SyncUserDataResponse) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{61} -} - -func (x *SyncUserDataResponse) GetTaskQueueMaxVersions() map[string]int64 { - if x != nil { - return x.TaskQueueMaxVersions - } - return nil -} - -// used as deployment workflow activity input: -type CheckUserDataPropagationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - TaskQueueMaxVersions map[string]int64 `protobuf:"bytes,1,rep,name=task_queue_max_versions,json=taskQueueMaxVersions,proto3" json:"task_queue_max_versions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CheckUserDataPropagationRequest) Reset() { - *x = CheckUserDataPropagationRequest{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CheckUserDataPropagationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckUserDataPropagationRequest) ProtoMessage() {} - -func (x *CheckUserDataPropagationRequest) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[62] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CheckUserDataPropagationRequest.ProtoReflect.Descriptor instead. -func (*CheckUserDataPropagationRequest) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{62} -} - -func (x *CheckUserDataPropagationRequest) GetTaskQueueMaxVersions() map[string]int64 { - if x != nil { - return x.TaskQueueMaxVersions - } - return nil -} - -// used as deployment series workflow update input: -type SetCurrentDeploymentArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` - BuildId string `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` - UpdateMetadata *v11.UpdateDeploymentMetadata `protobuf:"bytes,3,opt,name=update_metadata,json=updateMetadata,proto3" json:"update_metadata,omitempty"` - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetCurrentDeploymentArgs) Reset() { - *x = SetCurrentDeploymentArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetCurrentDeploymentArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetCurrentDeploymentArgs) ProtoMessage() {} - -func (x *SetCurrentDeploymentArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[63] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetCurrentDeploymentArgs.ProtoReflect.Descriptor instead. -func (*SetCurrentDeploymentArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{63} -} - -func (x *SetCurrentDeploymentArgs) GetIdentity() string { - if x != nil { - return x.Identity - } - return "" -} - -func (x *SetCurrentDeploymentArgs) GetBuildId() string { - if x != nil { - return x.BuildId - } - return "" -} - -func (x *SetCurrentDeploymentArgs) GetUpdateMetadata() *v11.UpdateDeploymentMetadata { - if x != nil { - return x.UpdateMetadata - } - return nil -} - -func (x *SetCurrentDeploymentArgs) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// used as deployment series update response: -type SetCurrentDeploymentResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - CurrentDeploymentState *DeploymentLocalState `protobuf:"bytes,1,opt,name=current_deployment_state,json=currentDeploymentState,proto3" json:"current_deployment_state,omitempty"` - PreviousDeploymentState *DeploymentLocalState `protobuf:"bytes,2,opt,name=previous_deployment_state,json=previousDeploymentState,proto3" json:"previous_deployment_state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetCurrentDeploymentResponse) Reset() { - *x = SetCurrentDeploymentResponse{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetCurrentDeploymentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetCurrentDeploymentResponse) ProtoMessage() {} - -func (x *SetCurrentDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[64] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetCurrentDeploymentResponse.ProtoReflect.Descriptor instead. -func (*SetCurrentDeploymentResponse) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{64} -} - -func (x *SetCurrentDeploymentResponse) GetCurrentDeploymentState() *DeploymentLocalState { - if x != nil { - return x.CurrentDeploymentState - } - return nil -} - -func (x *SetCurrentDeploymentResponse) GetPreviousDeploymentState() *DeploymentLocalState { - if x != nil { - return x.PreviousDeploymentState - } - return nil -} - -// used as deployment series activity input: -type SyncDeploymentStateActivityArgs struct { - state protoimpl.MessageState `protogen:"open.v1"` - Deployment *v11.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - Args *SyncDeploymentStateArgs `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncDeploymentStateActivityArgs) Reset() { - *x = SyncDeploymentStateActivityArgs{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncDeploymentStateActivityArgs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncDeploymentStateActivityArgs) ProtoMessage() {} - -func (x *SyncDeploymentStateActivityArgs) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[65] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncDeploymentStateActivityArgs.ProtoReflect.Descriptor instead. -func (*SyncDeploymentStateActivityArgs) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{65} -} - -func (x *SyncDeploymentStateActivityArgs) GetDeployment() *v11.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *SyncDeploymentStateActivityArgs) GetArgs() *SyncDeploymentStateArgs { - if x != nil { - return x.Args - } - return nil -} - -func (x *SyncDeploymentStateActivityArgs) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// used as deployment series activity result: -type SyncDeploymentStateActivityResult struct { - state protoimpl.MessageState `protogen:"open.v1"` - State *DeploymentLocalState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncDeploymentStateActivityResult) Reset() { - *x = SyncDeploymentStateActivityResult{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncDeploymentStateActivityResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncDeploymentStateActivityResult) ProtoMessage() {} - -func (x *SyncDeploymentStateActivityResult) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[66] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncDeploymentStateActivityResult.ProtoReflect.Descriptor instead. -func (*SyncDeploymentStateActivityResult) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{66} -} - -func (x *SyncDeploymentStateActivityResult) GetState() *DeploymentLocalState { - if x != nil { - return x.State - } - return nil -} - -// used as deployment series workflow memo: -type DeploymentSeriesWorkflowMemo struct { - state protoimpl.MessageState `protogen:"open.v1"` - SeriesName string `protobuf:"bytes,1,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` - CurrentBuildId string `protobuf:"bytes,2,opt,name=current_build_id,json=currentBuildId,proto3" json:"current_build_id,omitempty"` - CurrentChangedTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=current_changed_time,json=currentChangedTime,proto3" json:"current_changed_time,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentSeriesWorkflowMemo) Reset() { - *x = DeploymentSeriesWorkflowMemo{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentSeriesWorkflowMemo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentSeriesWorkflowMemo) ProtoMessage() {} - -func (x *DeploymentSeriesWorkflowMemo) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[67] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentSeriesWorkflowMemo.ProtoReflect.Descriptor instead. -func (*DeploymentSeriesWorkflowMemo) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{67} -} - -func (x *DeploymentSeriesWorkflowMemo) GetSeriesName() string { - if x != nil { - return x.SeriesName - } - return "" -} - -func (x *DeploymentSeriesWorkflowMemo) GetCurrentBuildId() string { - if x != nil { - return x.CurrentBuildId - } - return "" -} - -func (x *DeploymentSeriesWorkflowMemo) GetCurrentChangedTime() *timestamppb.Timestamp { - if x != nil { - return x.CurrentChangedTime - } - return nil -} - type VersionLocalState_TaskQueueFamilyData struct { state protoimpl.MessageState `protogen:"open.v1"` // Key: Task Queue Type @@ -4299,7 +3110,7 @@ type VersionLocalState_TaskQueueFamilyData struct { func (x *VersionLocalState_TaskQueueFamilyData) Reset() { *x = VersionLocalState_TaskQueueFamilyData{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[69] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4311,7 +3122,7 @@ func (x *VersionLocalState_TaskQueueFamilyData) String() string { func (*VersionLocalState_TaskQueueFamilyData) ProtoMessage() {} func (x *VersionLocalState_TaskQueueFamilyData) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[69] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4345,7 +3156,7 @@ type SyncDeploymentVersionUserDataRequest_SyncUserData struct { func (x *SyncDeploymentVersionUserDataRequest_SyncUserData) Reset() { *x = SyncDeploymentVersionUserDataRequest_SyncUserData{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[73] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4357,7 +3168,7 @@ func (x *SyncDeploymentVersionUserDataRequest_SyncUserData) String() string { func (*SyncDeploymentVersionUserDataRequest_SyncUserData) ProtoMessage() {} func (x *SyncDeploymentVersionUserDataRequest_SyncUserData) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[73] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4403,7 +3214,7 @@ type CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes struct { func (x *CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes) Reset() { *x = CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[79] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4415,7 +3226,7 @@ func (x *CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes) String() string func (*CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes) ProtoMessage() {} func (x *CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[79] + mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4438,160 +3249,6 @@ func (x *CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes) GetTypes() []v1. return nil } -type DeploymentLocalState_TaskQueueFamilyData struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Key: enums.TaskQueueType, Value: TaskQueueData - // All fields in TaskQueueData are valid except last_became_current_time, the source of - // truth for that is the value at the root of DeploymentLocalState. - TaskQueues map[int32]*TaskQueueData `protobuf:"bytes,1,rep,name=task_queues,json=taskQueues,proto3" json:"task_queues,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentLocalState_TaskQueueFamilyData) Reset() { - *x = DeploymentLocalState_TaskQueueFamilyData{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentLocalState_TaskQueueFamilyData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentLocalState_TaskQueueFamilyData) ProtoMessage() {} - -func (x *DeploymentLocalState_TaskQueueFamilyData) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[82] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentLocalState_TaskQueueFamilyData.ProtoReflect.Descriptor instead. -func (*DeploymentLocalState_TaskQueueFamilyData) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{50, 2} -} - -func (x *DeploymentLocalState_TaskQueueFamilyData) GetTaskQueues() map[int32]*TaskQueueData { - if x != nil { - return x.TaskQueues - } - return nil -} - -type SyncDeploymentStateArgs_SetCurrent struct { - state protoimpl.MessageState `protogen:"open.v1"` - // If last_became_current_time is present, then set the deployment's - // last_became_current_time to it and set is_current true. If it's missing, - // set is_current false. - LastBecameCurrentTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=last_became_current_time,json=lastBecameCurrentTime,proto3" json:"last_became_current_time,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncDeploymentStateArgs_SetCurrent) Reset() { - *x = SyncDeploymentStateArgs_SetCurrent{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncDeploymentStateArgs_SetCurrent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncDeploymentStateArgs_SetCurrent) ProtoMessage() {} - -func (x *SyncDeploymentStateArgs_SetCurrent) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[84] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncDeploymentStateArgs_SetCurrent.ProtoReflect.Descriptor instead. -func (*SyncDeploymentStateArgs_SetCurrent) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{55, 0} -} - -func (x *SyncDeploymentStateArgs_SetCurrent) GetLastBecameCurrentTime() *timestamppb.Timestamp { - if x != nil { - return x.LastBecameCurrentTime - } - return nil -} - -type SyncUserDataRequest_SyncUserData struct { - state protoimpl.MessageState `protogen:"open.v1"` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Type v1.TaskQueueType `protobuf:"varint,2,opt,name=type,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"type,omitempty"` - Data *TaskQueueData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SyncUserDataRequest_SyncUserData) Reset() { - *x = SyncUserDataRequest_SyncUserData{} - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SyncUserDataRequest_SyncUserData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncUserDataRequest_SyncUserData) ProtoMessage() {} - -func (x *SyncUserDataRequest_SyncUserData) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_deployment_v1_message_proto_msgTypes[85] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncUserDataRequest_SyncUserData.ProtoReflect.Descriptor instead. -func (*SyncUserDataRequest_SyncUserData) Descriptor() ([]byte, []int) { - return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{60, 0} -} - -func (x *SyncUserDataRequest_SyncUserData) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *SyncUserDataRequest_SyncUserData) GetType() v1.TaskQueueType { - if x != nil { - return x.Type - } - return v1.TaskQueueType(0) -} - -func (x *SyncUserDataRequest_SyncUserData) GetData() *TaskQueueData { - if x != nil { - return x.Data - } - return nil -} - var File_temporal_server_api_deployment_v1_message_proto protoreflect.FileDescriptor const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" + @@ -4847,124 +3504,7 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" + "\x0erouting_config\x18\x03 \x01(\v2).temporal.api.deployment.v1.RoutingConfigR\rroutingConfig\x12\x85\x01\n" + "\x16latest_version_summary\x18\x04 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x14latestVersionSummary\x12\x87\x01\n" + "\x17current_version_summary\x18\x05 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x15currentVersionSummary\x12\x87\x01\n" + - "\x17ramping_version_summary\x18\x06 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x15rampingVersionSummary\"\xc7\x01\n" + - "#AddVersionToWorkerDeploymentRequest\x12'\n" + - "\x0fdeployment_name\x18\x01 \x01(\tR\x0edeploymentName\x12X\n" + - "\vupdate_args\x18\x02 \x01(\v27.temporal.server.api.deployment.v1.AddVersionUpdateArgsR\n" + - "updateArgs\x12\x1d\n" + - "\n" + - "request_id\x18\x03 \x01(\tR\trequestId\"&\n" + - "$AddVersionToWorkerDeploymentResponse\"\xac\x01\n" + - "\rTaskQueueData\x12F\n" + - "\x11first_poller_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x0ffirstPollerTime\x12S\n" + - "\x18last_became_current_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x15lastBecameCurrentTime\"\xa3\b\n" + - "\x14DeploymentLocalState\x12F\n" + - "\n" + - "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12~\n" + - "\x13task_queue_families\x18\x02 \x03(\v2N.temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamiliesEntryR\x11taskQueueFamilies\x12\x1d\n" + - "\n" + - "is_current\x18\x03 \x01(\bR\tisCurrent\x12S\n" + - "\x18last_became_current_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x15lastBecameCurrentTime\x12;\n" + - "\vcreate_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "createTime\x12a\n" + - "\bmetadata\x18\x05 \x03(\v2E.temporal.server.api.deployment.v1.DeploymentLocalState.MetadataEntryR\bmetadata\x126\n" + - "\x17started_series_workflow\x18\a \x01(\bR\x15startedSeriesWorkflow\x1a\x91\x01\n" + - "\x16TaskQueueFamiliesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12a\n" + - "\x05value\x18\x02 \x01(\v2K.temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyDataR\x05value:\x028\x01\x1a\\\n" + - "\rMetadataEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + - "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\x1a\x84\x02\n" + - "\x13TaskQueueFamilyData\x12|\n" + - "\vtask_queues\x18\x01 \x03(\v2[.temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData.TaskQueuesEntryR\n" + - "taskQueues\x1ao\n" + - "\x0fTaskQueuesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x05R\x03key\x12F\n" + - "\x05value\x18\x02 \x01(\v20.temporal.server.api.deployment.v1.TaskQueueDataR\x05value:\x028\x01\"\xb1\x01\n" + - "\x16DeploymentWorkflowArgs\x12%\n" + - "\x0enamespace_name\x18\x01 \x01(\tR\rnamespaceName\x12!\n" + - "\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12M\n" + - "\x05state\x18\x03 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x05state\"\xd4\x01\n" + - "\x1cDeploymentSeriesWorkflowArgs\x12%\n" + - "\x0enamespace_name\x18\x01 \x01(\tR\rnamespaceName\x12!\n" + - "\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12\x1f\n" + - "\vseries_name\x18\x03 \x01(\tR\n" + - "seriesName\x12I\n" + - "\x05state\x18\x04 \x01(\v23.temporal.server.api.deployment.v1.SeriesLocalStateR\x05state\"\x8a\x01\n" + - "\x10SeriesLocalState\x12(\n" + - "\x10current_build_id\x18\x01 \x01(\tR\x0ecurrentBuildId\x12L\n" + - "\x14current_changed_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x12currentChangedTime\"\x86\x02\n" + - "\x1eRegisterWorkerInDeploymentArgs\x12&\n" + - "\x0ftask_queue_name\x18\x01 \x01(\tR\rtaskQueueName\x12L\n" + - "\x0ftask_queue_type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\rtaskQueueType\x12F\n" + - "\x11first_poller_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0ffirstPollerTime\x12&\n" + - "\x0fmax_task_queues\x18\x04 \x01(\x05R\rmaxTaskQueues\"\xc3\x02\n" + - "\x17SyncDeploymentStateArgs\x12f\n" + - "\vset_current\x18\x01 \x01(\v2E.temporal.server.api.deployment.v1.SyncDeploymentStateArgs.SetCurrentR\n" + - "setCurrent\x12]\n" + - "\x0fupdate_metadata\x18\x02 \x01(\v24.temporal.api.deployment.v1.UpdateDeploymentMetadataR\x0eupdateMetadata\x1aa\n" + - "\n" + - "SetCurrent\x12S\n" + - "\x18last_became_current_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x15lastBecameCurrentTime\"\x8c\x01\n" + - "\x1bSyncDeploymentStateResponse\x12m\n" + - "\x16deployment_local_state\x18\x01 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x14deploymentLocalState\"\x90\x01\n" + - "\x1fQueryDescribeDeploymentResponse\x12m\n" + - "\x16deployment_local_state\x18\x01 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x14deploymentLocalState\"\xd1\x01\n" + - "\x16DeploymentWorkflowMemo\x12F\n" + - "\n" + - "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12;\n" + - "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "createTime\x122\n" + - "\x15is_current_deployment\x18\x03 \x01(\bR\x13isCurrentDeployment\"^\n" + - "\x1cStartDeploymentSeriesRequest\x12\x1f\n" + - "\vseries_name\x18\x01 \x01(\tR\n" + - "seriesName\x12\x1d\n" + - "\n" + - "request_id\x18\x02 \x01(\tR\trequestId\"\xdb\x02\n" + - "\x13SyncUserDataRequest\x12F\n" + - "\n" + - "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12W\n" + - "\x04sync\x18\x02 \x03(\v2C.temporal.server.api.deployment.v1.SyncUserDataRequest.SyncUserDataR\x04sync\x1a\xa2\x01\n" + - "\fSyncUserData\x12\x12\n" + - "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + - "\x04type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x04type\x12D\n" + - "\x04data\x18\x03 \x01(\v20.temporal.server.api.deployment.v1.TaskQueueDataR\x04data\"\xea\x01\n" + - "\x14SyncUserDataResponse\x12\x88\x01\n" + - "\x17task_queue_max_versions\x18\x01 \x03(\v2Q.temporal.server.api.deployment.v1.SyncUserDataResponse.TaskQueueMaxVersionsEntryR\x14taskQueueMaxVersions\x1aG\n" + - "\x19TaskQueueMaxVersionsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\x80\x02\n" + - "\x1fCheckUserDataPropagationRequest\x12\x93\x01\n" + - "\x17task_queue_max_versions\x18\x01 \x03(\v2\\.temporal.server.api.deployment.v1.CheckUserDataPropagationRequest.TaskQueueMaxVersionsEntryR\x14taskQueueMaxVersions\x1aG\n" + - "\x19TaskQueueMaxVersionsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\xcf\x01\n" + - "\x18SetCurrentDeploymentArgs\x12\x1a\n" + - "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x19\n" + - "\bbuild_id\x18\x02 \x01(\tR\abuildId\x12]\n" + - "\x0fupdate_metadata\x18\x03 \x01(\v24.temporal.api.deployment.v1.UpdateDeploymentMetadataR\x0eupdateMetadata\x12\x1d\n" + - "\n" + - "request_id\x18\x04 \x01(\tR\trequestId\"\x86\x02\n" + - "\x1cSetCurrentDeploymentResponse\x12q\n" + - "\x18current_deployment_state\x18\x01 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x16currentDeploymentState\x12s\n" + - "\x19previous_deployment_state\x18\x02 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x17previousDeploymentState\"\xd8\x01\n" + - "\x1fSyncDeploymentStateActivityArgs\x12F\n" + - "\n" + - "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12N\n" + - "\x04args\x18\x02 \x01(\v2:.temporal.server.api.deployment.v1.SyncDeploymentStateArgsR\x04args\x12\x1d\n" + - "\n" + - "request_id\x18\x03 \x01(\tR\trequestId\"r\n" + - "!SyncDeploymentStateActivityResult\x12M\n" + - "\x05state\x18\x01 \x01(\v27.temporal.server.api.deployment.v1.DeploymentLocalStateR\x05state\"\xb7\x01\n" + - "\x1cDeploymentSeriesWorkflowMemo\x12\x1f\n" + - "\vseries_name\x18\x01 \x01(\tR\n" + - "seriesName\x12(\n" + - "\x10current_build_id\x18\x02 \x01(\tR\x0ecurrentBuildId\x12L\n" + - "\x14current_changed_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x12currentChangedTimeB4Z2go.temporal.io/server/api/deployment/v1;deploymentb\x06proto3" + "\x17ramping_version_summary\x18\x06 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x15rampingVersionSummaryB4Z2go.temporal.io/server/api/deployment/v1;deploymentb\x06proto3" var ( file_temporal_server_api_deployment_v1_message_proto_rawDescOnce sync.Once @@ -4978,7 +3518,7 @@ func file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP() []byte { return file_temporal_server_api_deployment_v1_message_proto_rawDescData } -var file_temporal_server_api_deployment_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 88) +var file_temporal_server_api_deployment_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_temporal_server_api_deployment_v1_message_proto_goTypes = []any{ (*WorkerDeploymentVersion)(nil), // 0: temporal.server.api.deployment.v1.WorkerDeploymentVersion (*DeploymentVersionData)(nil), // 1: temporal.server.api.deployment.v1.DeploymentVersionData @@ -5027,186 +3567,118 @@ var file_temporal_server_api_deployment_v1_message_proto_goTypes = []any{ (*IsVersionMissingTaskQueuesResult)(nil), // 44: temporal.server.api.deployment.v1.IsVersionMissingTaskQueuesResult (*WorkerDeploymentWorkflowMemo)(nil), // 45: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo (*WorkerDeploymentSummary)(nil), // 46: temporal.server.api.deployment.v1.WorkerDeploymentSummary - (*AddVersionToWorkerDeploymentRequest)(nil), // 47: temporal.server.api.deployment.v1.AddVersionToWorkerDeploymentRequest - (*AddVersionToWorkerDeploymentResponse)(nil), // 48: temporal.server.api.deployment.v1.AddVersionToWorkerDeploymentResponse - (*TaskQueueData)(nil), // 49: temporal.server.api.deployment.v1.TaskQueueData - (*DeploymentLocalState)(nil), // 50: temporal.server.api.deployment.v1.DeploymentLocalState - (*DeploymentWorkflowArgs)(nil), // 51: temporal.server.api.deployment.v1.DeploymentWorkflowArgs - (*DeploymentSeriesWorkflowArgs)(nil), // 52: temporal.server.api.deployment.v1.DeploymentSeriesWorkflowArgs - (*SeriesLocalState)(nil), // 53: temporal.server.api.deployment.v1.SeriesLocalState - (*RegisterWorkerInDeploymentArgs)(nil), // 54: temporal.server.api.deployment.v1.RegisterWorkerInDeploymentArgs - (*SyncDeploymentStateArgs)(nil), // 55: temporal.server.api.deployment.v1.SyncDeploymentStateArgs - (*SyncDeploymentStateResponse)(nil), // 56: temporal.server.api.deployment.v1.SyncDeploymentStateResponse - (*QueryDescribeDeploymentResponse)(nil), // 57: temporal.server.api.deployment.v1.QueryDescribeDeploymentResponse - (*DeploymentWorkflowMemo)(nil), // 58: temporal.server.api.deployment.v1.DeploymentWorkflowMemo - (*StartDeploymentSeriesRequest)(nil), // 59: temporal.server.api.deployment.v1.StartDeploymentSeriesRequest - (*SyncUserDataRequest)(nil), // 60: temporal.server.api.deployment.v1.SyncUserDataRequest - (*SyncUserDataResponse)(nil), // 61: temporal.server.api.deployment.v1.SyncUserDataResponse - (*CheckUserDataPropagationRequest)(nil), // 62: temporal.server.api.deployment.v1.CheckUserDataPropagationRequest - (*SetCurrentDeploymentArgs)(nil), // 63: temporal.server.api.deployment.v1.SetCurrentDeploymentArgs - (*SetCurrentDeploymentResponse)(nil), // 64: temporal.server.api.deployment.v1.SetCurrentDeploymentResponse - (*SyncDeploymentStateActivityArgs)(nil), // 65: temporal.server.api.deployment.v1.SyncDeploymentStateActivityArgs - (*SyncDeploymentStateActivityResult)(nil), // 66: temporal.server.api.deployment.v1.SyncDeploymentStateActivityResult - (*DeploymentSeriesWorkflowMemo)(nil), // 67: temporal.server.api.deployment.v1.DeploymentSeriesWorkflowMemo - nil, // 68: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry - (*VersionLocalState_TaskQueueFamilyData)(nil), // 69: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData - nil, // 70: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry - nil, // 71: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry - nil, // 72: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry - (*SyncDeploymentVersionUserDataRequest_SyncUserData)(nil), // 73: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData - nil, // 74: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry - nil, // 75: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry - nil, // 76: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry - nil, // 77: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry - nil, // 78: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry - (*CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes)(nil), // 79: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes - nil, // 80: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamiliesEntry - nil, // 81: temporal.server.api.deployment.v1.DeploymentLocalState.MetadataEntry - (*DeploymentLocalState_TaskQueueFamilyData)(nil), // 82: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData - nil, // 83: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData.TaskQueuesEntry - (*SyncDeploymentStateArgs_SetCurrent)(nil), // 84: temporal.server.api.deployment.v1.SyncDeploymentStateArgs.SetCurrent - (*SyncUserDataRequest_SyncUserData)(nil), // 85: temporal.server.api.deployment.v1.SyncUserDataRequest.SyncUserData - nil, // 86: temporal.server.api.deployment.v1.SyncUserDataResponse.TaskQueueMaxVersionsEntry - nil, // 87: temporal.server.api.deployment.v1.CheckUserDataPropagationRequest.TaskQueueMaxVersionsEntry - (*timestamppb.Timestamp)(nil), // 88: google.protobuf.Timestamp - (v1.WorkerDeploymentVersionStatus)(0), // 89: temporal.api.enums.v1.WorkerDeploymentVersionStatus - (*v11.VersionDrainageInfo)(nil), // 90: temporal.api.deployment.v1.VersionDrainageInfo - (*v11.VersionMetadata)(nil), // 91: temporal.api.deployment.v1.VersionMetadata - (*v11.RoutingConfig)(nil), // 92: temporal.api.deployment.v1.RoutingConfig - (v1.VersionDrainageStatus)(0), // 93: temporal.api.enums.v1.VersionDrainageStatus - (v1.TaskQueueType)(0), // 94: temporal.api.enums.v1.TaskQueueType - (*v11.WorkerDeploymentVersionInfo_VersionTaskQueueInfo)(nil), // 95: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo - (*v11.WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 96: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - (*v11.Deployment)(nil), // 97: temporal.api.deployment.v1.Deployment - (*v11.UpdateDeploymentMetadata)(nil), // 98: temporal.api.deployment.v1.UpdateDeploymentMetadata - (*v12.Payload)(nil), // 99: temporal.api.common.v1.Payload + nil, // 47: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry + (*VersionLocalState_TaskQueueFamilyData)(nil), // 48: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData + nil, // 49: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry + nil, // 50: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry + nil, // 51: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry + (*SyncDeploymentVersionUserDataRequest_SyncUserData)(nil), // 52: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData + nil, // 53: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry + nil, // 54: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry + nil, // 55: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry + nil, // 56: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry + nil, // 57: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry + (*CheckTaskQueuesHavePollersActivityArgs_TaskQueueTypes)(nil), // 58: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes + (*timestamppb.Timestamp)(nil), // 59: google.protobuf.Timestamp + (v1.WorkerDeploymentVersionStatus)(0), // 60: temporal.api.enums.v1.WorkerDeploymentVersionStatus + (*v11.VersionDrainageInfo)(nil), // 61: temporal.api.deployment.v1.VersionDrainageInfo + (*v11.VersionMetadata)(nil), // 62: temporal.api.deployment.v1.VersionMetadata + (*v11.RoutingConfig)(nil), // 63: temporal.api.deployment.v1.RoutingConfig + (v1.VersionDrainageStatus)(0), // 64: temporal.api.enums.v1.VersionDrainageStatus + (v1.TaskQueueType)(0), // 65: temporal.api.enums.v1.TaskQueueType + (*v11.WorkerDeploymentVersionInfo_VersionTaskQueueInfo)(nil), // 66: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo + (*v11.WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 67: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + (*v12.Payload)(nil), // 68: temporal.api.common.v1.Payload } var file_temporal_server_api_deployment_v1_message_proto_depIdxs = []int32{ - 0, // 0: temporal.server.api.deployment.v1.DeploymentVersionData.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 88, // 1: temporal.server.api.deployment.v1.DeploymentVersionData.routing_update_time:type_name -> google.protobuf.Timestamp - 88, // 2: temporal.server.api.deployment.v1.DeploymentVersionData.current_since_time:type_name -> google.protobuf.Timestamp - 88, // 3: temporal.server.api.deployment.v1.DeploymentVersionData.ramping_since_time:type_name -> google.protobuf.Timestamp - 89, // 4: temporal.server.api.deployment.v1.DeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus - 89, // 5: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus - 0, // 6: temporal.server.api.deployment.v1.VersionLocalState.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 88, // 7: temporal.server.api.deployment.v1.VersionLocalState.create_time:type_name -> google.protobuf.Timestamp - 88, // 8: temporal.server.api.deployment.v1.VersionLocalState.routing_update_time:type_name -> google.protobuf.Timestamp - 88, // 9: temporal.server.api.deployment.v1.VersionLocalState.current_since_time:type_name -> google.protobuf.Timestamp - 88, // 10: temporal.server.api.deployment.v1.VersionLocalState.ramping_since_time:type_name -> google.protobuf.Timestamp - 88, // 11: temporal.server.api.deployment.v1.VersionLocalState.first_activation_time:type_name -> google.protobuf.Timestamp - 88, // 12: temporal.server.api.deployment.v1.VersionLocalState.last_deactivation_time:type_name -> google.protobuf.Timestamp - 90, // 13: temporal.server.api.deployment.v1.VersionLocalState.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo - 91, // 14: temporal.server.api.deployment.v1.VersionLocalState.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata - 68, // 15: temporal.server.api.deployment.v1.VersionLocalState.task_queue_families:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry - 89, // 16: temporal.server.api.deployment.v1.VersionLocalState.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus - 3, // 17: temporal.server.api.deployment.v1.WorkerDeploymentVersionWorkflowArgs.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState - 7, // 18: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState - 88, // 19: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.create_time:type_name -> google.protobuf.Timestamp - 92, // 20: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 71, // 21: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.versions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry - 72, // 22: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.propagating_revisions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry - 88, // 23: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.create_time:type_name -> google.protobuf.Timestamp - 93, // 24: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus - 90, // 25: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo - 88, // 26: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.routing_update_time:type_name -> google.protobuf.Timestamp - 88, // 27: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.current_since_time:type_name -> google.protobuf.Timestamp - 88, // 28: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.ramping_since_time:type_name -> google.protobuf.Timestamp - 88, // 29: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.first_activation_time:type_name -> google.protobuf.Timestamp - 88, // 30: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_deactivation_time:type_name -> google.protobuf.Timestamp - 89, // 31: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus - 94, // 32: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 92, // 33: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 94, // 34: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 0, // 35: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 95, // 36: temporal.server.api.deployment.v1.DescribeVersionFromWorkerDeploymentActivityResult.task_queue_infos:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo - 88, // 37: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_update_time:type_name -> google.protobuf.Timestamp - 88, // 38: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.current_since_time:type_name -> google.protobuf.Timestamp - 88, // 39: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.ramping_since_time:type_name -> google.protobuf.Timestamp - 92, // 40: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 3, // 41: temporal.server.api.deployment.v1.SyncVersionStateResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState - 9, // 42: temporal.server.api.deployment.v1.SyncVersionStateResponse.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary - 88, // 43: temporal.server.api.deployment.v1.AddVersionUpdateArgs.create_time:type_name -> google.protobuf.Timestamp - 90, // 44: temporal.server.api.deployment.v1.SyncDrainageInfoSignalArgs.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo - 93, // 45: temporal.server.api.deployment.v1.SyncDrainageStatusSignalArgs.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus - 3, // 46: temporal.server.api.deployment.v1.QueryDescribeVersionResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState - 7, // 47: temporal.server.api.deployment.v1.QueryDescribeWorkerDeploymentResponse.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState - 0, // 48: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 73, // 49: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.sync:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData - 92, // 50: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 2, // 51: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.upsert_version_data:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData - 74, // 52: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry - 75, // 53: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry - 14, // 54: temporal.server.api.deployment.v1.SyncUnversionedRampActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs - 76, // 55: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry - 77, // 56: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.upsert_entries:type_name -> temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry - 91, // 57: temporal.server.api.deployment.v1.UpdateVersionMetadataResponse.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata - 78, // 58: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.task_queues_and_types:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry - 0, // 59: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.worker_deployment_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 14, // 60: temporal.server.api.deployment.v1.SyncVersionStateActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs - 3, // 61: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState - 9, // 62: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary - 88, // 63: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.create_time:type_name -> google.protobuf.Timestamp - 92, // 64: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 96, // 65: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 96, // 66: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 96, // 67: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 88, // 68: temporal.server.api.deployment.v1.WorkerDeploymentSummary.create_time:type_name -> google.protobuf.Timestamp - 92, // 69: temporal.server.api.deployment.v1.WorkerDeploymentSummary.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 96, // 70: temporal.server.api.deployment.v1.WorkerDeploymentSummary.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 96, // 71: temporal.server.api.deployment.v1.WorkerDeploymentSummary.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 96, // 72: temporal.server.api.deployment.v1.WorkerDeploymentSummary.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary - 16, // 73: temporal.server.api.deployment.v1.AddVersionToWorkerDeploymentRequest.update_args:type_name -> temporal.server.api.deployment.v1.AddVersionUpdateArgs - 88, // 74: temporal.server.api.deployment.v1.TaskQueueData.first_poller_time:type_name -> google.protobuf.Timestamp - 88, // 75: temporal.server.api.deployment.v1.TaskQueueData.last_became_current_time:type_name -> google.protobuf.Timestamp - 97, // 76: temporal.server.api.deployment.v1.DeploymentLocalState.deployment:type_name -> temporal.api.deployment.v1.Deployment - 80, // 77: temporal.server.api.deployment.v1.DeploymentLocalState.task_queue_families:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamiliesEntry - 88, // 78: temporal.server.api.deployment.v1.DeploymentLocalState.last_became_current_time:type_name -> google.protobuf.Timestamp - 88, // 79: temporal.server.api.deployment.v1.DeploymentLocalState.create_time:type_name -> google.protobuf.Timestamp - 81, // 80: temporal.server.api.deployment.v1.DeploymentLocalState.metadata:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState.MetadataEntry - 50, // 81: temporal.server.api.deployment.v1.DeploymentWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 53, // 82: temporal.server.api.deployment.v1.DeploymentSeriesWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.SeriesLocalState - 88, // 83: temporal.server.api.deployment.v1.SeriesLocalState.current_changed_time:type_name -> google.protobuf.Timestamp - 94, // 84: temporal.server.api.deployment.v1.RegisterWorkerInDeploymentArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 88, // 85: temporal.server.api.deployment.v1.RegisterWorkerInDeploymentArgs.first_poller_time:type_name -> google.protobuf.Timestamp - 84, // 86: temporal.server.api.deployment.v1.SyncDeploymentStateArgs.set_current:type_name -> temporal.server.api.deployment.v1.SyncDeploymentStateArgs.SetCurrent - 98, // 87: temporal.server.api.deployment.v1.SyncDeploymentStateArgs.update_metadata:type_name -> temporal.api.deployment.v1.UpdateDeploymentMetadata - 50, // 88: temporal.server.api.deployment.v1.SyncDeploymentStateResponse.deployment_local_state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 50, // 89: temporal.server.api.deployment.v1.QueryDescribeDeploymentResponse.deployment_local_state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 97, // 90: temporal.server.api.deployment.v1.DeploymentWorkflowMemo.deployment:type_name -> temporal.api.deployment.v1.Deployment - 88, // 91: temporal.server.api.deployment.v1.DeploymentWorkflowMemo.create_time:type_name -> google.protobuf.Timestamp - 97, // 92: temporal.server.api.deployment.v1.SyncUserDataRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment - 85, // 93: temporal.server.api.deployment.v1.SyncUserDataRequest.sync:type_name -> temporal.server.api.deployment.v1.SyncUserDataRequest.SyncUserData - 86, // 94: temporal.server.api.deployment.v1.SyncUserDataResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncUserDataResponse.TaskQueueMaxVersionsEntry - 87, // 95: temporal.server.api.deployment.v1.CheckUserDataPropagationRequest.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.CheckUserDataPropagationRequest.TaskQueueMaxVersionsEntry - 98, // 96: temporal.server.api.deployment.v1.SetCurrentDeploymentArgs.update_metadata:type_name -> temporal.api.deployment.v1.UpdateDeploymentMetadata - 50, // 97: temporal.server.api.deployment.v1.SetCurrentDeploymentResponse.current_deployment_state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 50, // 98: temporal.server.api.deployment.v1.SetCurrentDeploymentResponse.previous_deployment_state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 97, // 99: temporal.server.api.deployment.v1.SyncDeploymentStateActivityArgs.deployment:type_name -> temporal.api.deployment.v1.Deployment - 55, // 100: temporal.server.api.deployment.v1.SyncDeploymentStateActivityArgs.args:type_name -> temporal.server.api.deployment.v1.SyncDeploymentStateArgs - 50, // 101: temporal.server.api.deployment.v1.SyncDeploymentStateActivityResult.state:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState - 88, // 102: temporal.server.api.deployment.v1.DeploymentSeriesWorkflowMemo.current_changed_time:type_name -> google.protobuf.Timestamp - 69, // 103: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry.value:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData - 70, // 104: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.task_queues:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry - 4, // 105: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry.value:type_name -> temporal.server.api.deployment.v1.TaskQueueVersionData - 9, // 106: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary - 8, // 107: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry.value:type_name -> temporal.server.api.deployment.v1.PropagatingRevisions - 94, // 108: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.types:type_name -> temporal.api.enums.v1.TaskQueueType - 1, // 109: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData - 99, // 110: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload - 79, // 111: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry.value:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes - 94, // 112: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes.types:type_name -> temporal.api.enums.v1.TaskQueueType - 82, // 113: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamiliesEntry.value:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData - 99, // 114: temporal.server.api.deployment.v1.DeploymentLocalState.MetadataEntry.value:type_name -> temporal.api.common.v1.Payload - 83, // 115: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData.task_queues:type_name -> temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData.TaskQueuesEntry - 49, // 116: temporal.server.api.deployment.v1.DeploymentLocalState.TaskQueueFamilyData.TaskQueuesEntry.value:type_name -> temporal.server.api.deployment.v1.TaskQueueData - 88, // 117: temporal.server.api.deployment.v1.SyncDeploymentStateArgs.SetCurrent.last_became_current_time:type_name -> google.protobuf.Timestamp - 94, // 118: temporal.server.api.deployment.v1.SyncUserDataRequest.SyncUserData.type:type_name -> temporal.api.enums.v1.TaskQueueType - 49, // 119: temporal.server.api.deployment.v1.SyncUserDataRequest.SyncUserData.data:type_name -> temporal.server.api.deployment.v1.TaskQueueData - 120, // [120:120] is the sub-list for method output_type - 120, // [120:120] is the sub-list for method input_type - 120, // [120:120] is the sub-list for extension type_name - 120, // [120:120] is the sub-list for extension extendee - 0, // [0:120] is the sub-list for field type_name + 0, // 0: temporal.server.api.deployment.v1.DeploymentVersionData.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 59, // 1: temporal.server.api.deployment.v1.DeploymentVersionData.routing_update_time:type_name -> google.protobuf.Timestamp + 59, // 2: temporal.server.api.deployment.v1.DeploymentVersionData.current_since_time:type_name -> google.protobuf.Timestamp + 59, // 3: temporal.server.api.deployment.v1.DeploymentVersionData.ramping_since_time:type_name -> google.protobuf.Timestamp + 60, // 4: temporal.server.api.deployment.v1.DeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 60, // 5: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 0, // 6: temporal.server.api.deployment.v1.VersionLocalState.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 59, // 7: temporal.server.api.deployment.v1.VersionLocalState.create_time:type_name -> google.protobuf.Timestamp + 59, // 8: temporal.server.api.deployment.v1.VersionLocalState.routing_update_time:type_name -> google.protobuf.Timestamp + 59, // 9: temporal.server.api.deployment.v1.VersionLocalState.current_since_time:type_name -> google.protobuf.Timestamp + 59, // 10: temporal.server.api.deployment.v1.VersionLocalState.ramping_since_time:type_name -> google.protobuf.Timestamp + 59, // 11: temporal.server.api.deployment.v1.VersionLocalState.first_activation_time:type_name -> google.protobuf.Timestamp + 59, // 12: temporal.server.api.deployment.v1.VersionLocalState.last_deactivation_time:type_name -> google.protobuf.Timestamp + 61, // 13: temporal.server.api.deployment.v1.VersionLocalState.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo + 62, // 14: temporal.server.api.deployment.v1.VersionLocalState.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata + 47, // 15: temporal.server.api.deployment.v1.VersionLocalState.task_queue_families:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry + 60, // 16: temporal.server.api.deployment.v1.VersionLocalState.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 3, // 17: temporal.server.api.deployment.v1.WorkerDeploymentVersionWorkflowArgs.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState + 7, // 18: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState + 59, // 19: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.create_time:type_name -> google.protobuf.Timestamp + 63, // 20: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 50, // 21: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.versions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry + 51, // 22: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.propagating_revisions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry + 59, // 23: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.create_time:type_name -> google.protobuf.Timestamp + 64, // 24: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus + 61, // 25: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo + 59, // 26: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.routing_update_time:type_name -> google.protobuf.Timestamp + 59, // 27: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.current_since_time:type_name -> google.protobuf.Timestamp + 59, // 28: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.ramping_since_time:type_name -> google.protobuf.Timestamp + 59, // 29: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.first_activation_time:type_name -> google.protobuf.Timestamp + 59, // 30: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_deactivation_time:type_name -> google.protobuf.Timestamp + 60, // 31: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 65, // 32: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 63, // 33: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 65, // 34: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 0, // 35: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 66, // 36: temporal.server.api.deployment.v1.DescribeVersionFromWorkerDeploymentActivityResult.task_queue_infos:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo + 59, // 37: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_update_time:type_name -> google.protobuf.Timestamp + 59, // 38: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.current_since_time:type_name -> google.protobuf.Timestamp + 59, // 39: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.ramping_since_time:type_name -> google.protobuf.Timestamp + 63, // 40: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 3, // 41: temporal.server.api.deployment.v1.SyncVersionStateResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState + 9, // 42: temporal.server.api.deployment.v1.SyncVersionStateResponse.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary + 59, // 43: temporal.server.api.deployment.v1.AddVersionUpdateArgs.create_time:type_name -> google.protobuf.Timestamp + 61, // 44: temporal.server.api.deployment.v1.SyncDrainageInfoSignalArgs.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo + 64, // 45: temporal.server.api.deployment.v1.SyncDrainageStatusSignalArgs.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus + 3, // 46: temporal.server.api.deployment.v1.QueryDescribeVersionResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState + 7, // 47: temporal.server.api.deployment.v1.QueryDescribeWorkerDeploymentResponse.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState + 0, // 48: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 52, // 49: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.sync:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData + 63, // 50: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 2, // 51: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.upsert_version_data:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData + 53, // 52: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry + 54, // 53: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry + 14, // 54: temporal.server.api.deployment.v1.SyncUnversionedRampActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs + 55, // 55: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry + 56, // 56: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.upsert_entries:type_name -> temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry + 62, // 57: temporal.server.api.deployment.v1.UpdateVersionMetadataResponse.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata + 57, // 58: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.task_queues_and_types:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry + 0, // 59: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.worker_deployment_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 14, // 60: temporal.server.api.deployment.v1.SyncVersionStateActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs + 3, // 61: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState + 9, // 62: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary + 59, // 63: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.create_time:type_name -> google.protobuf.Timestamp + 63, // 64: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 67, // 65: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 67, // 66: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 67, // 67: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 59, // 68: temporal.server.api.deployment.v1.WorkerDeploymentSummary.create_time:type_name -> google.protobuf.Timestamp + 63, // 69: temporal.server.api.deployment.v1.WorkerDeploymentSummary.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 67, // 70: temporal.server.api.deployment.v1.WorkerDeploymentSummary.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 67, // 71: temporal.server.api.deployment.v1.WorkerDeploymentSummary.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 67, // 72: temporal.server.api.deployment.v1.WorkerDeploymentSummary.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 48, // 73: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry.value:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData + 49, // 74: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.task_queues:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry + 4, // 75: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry.value:type_name -> temporal.server.api.deployment.v1.TaskQueueVersionData + 9, // 76: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary + 8, // 77: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry.value:type_name -> temporal.server.api.deployment.v1.PropagatingRevisions + 65, // 78: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.types:type_name -> temporal.api.enums.v1.TaskQueueType + 1, // 79: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData + 68, // 80: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload + 58, // 81: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry.value:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes + 65, // 82: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes.types:type_name -> temporal.api.enums.v1.TaskQueueType + 83, // [83:83] is the sub-list for method output_type + 83, // [83:83] is the sub-list for method input_type + 83, // [83:83] is the sub-list for extension type_name + 83, // [83:83] is the sub-list for extension extendee + 0, // [0:83] is the sub-list for field type_name } func init() { file_temporal_server_api_deployment_v1_message_proto_init() } @@ -5220,7 +3692,7 @@ func file_temporal_server_api_deployment_v1_message_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_deployment_v1_message_proto_rawDesc), len(file_temporal_server_api_deployment_v1_message_proto_rawDesc)), NumEnums: 0, - NumMessages: 88, + NumMessages: 59, NumExtensions: 0, NumServices: 0, }, diff --git a/api/matchingservice/v1/request_response.pb.go b/api/matchingservice/v1/request_response.pb.go index 0c05163e11..45f9a894de 100644 --- a/api/matchingservice/v1/request_response.pb.go +++ b/api/matchingservice/v1/request_response.pb.go @@ -2378,18 +2378,8 @@ type SyncDeploymentUserDataRequest struct { // (-- api-linter: core::0203::required=disabled // // aip.dev/not-precedent: Not following Google API format --) - DeploymentName string `protobuf:"bytes,9,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` - // Note: this is the task queue type being modified, but this field should not be used for - // routing, the user data is owned by the WORKFLOW task queue. - // Deprecated. Use `task_queue_types`. - TaskQueueType v19.TaskQueueType `protobuf:"varint,3,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` + DeploymentName string `protobuf:"bytes,9,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` TaskQueueTypes []v19.TaskQueueType `protobuf:"varint,8,rep,packed,name=task_queue_types,json=taskQueueTypes,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_types,omitempty"` - // This is the deployment being modified. - // Deprecated. - Deployment *v112.Deployment `protobuf:"bytes,4,opt,name=deployment,proto3" json:"deployment,omitempty"` - // Data for this deployment. - // Deprecated. - Data *v110.TaskQueueData `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` // Types that are valid to be assigned to Operation: // // *SyncDeploymentUserDataRequest_UpdateVersionData @@ -2462,13 +2452,6 @@ func (x *SyncDeploymentUserDataRequest) GetDeploymentName() string { return "" } -func (x *SyncDeploymentUserDataRequest) GetTaskQueueType() v19.TaskQueueType { - if x != nil { - return x.TaskQueueType - } - return v19.TaskQueueType(0) -} - func (x *SyncDeploymentUserDataRequest) GetTaskQueueTypes() []v19.TaskQueueType { if x != nil { return x.TaskQueueTypes @@ -2476,20 +2459,6 @@ func (x *SyncDeploymentUserDataRequest) GetTaskQueueTypes() []v19.TaskQueueType return nil } -func (x *SyncDeploymentUserDataRequest) GetDeployment() *v112.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *SyncDeploymentUserDataRequest) GetData() *v110.TaskQueueData { - if x != nil { - return x.Data - } - return nil -} - func (x *SyncDeploymentUserDataRequest) GetOperation() isSyncDeploymentUserDataRequest_Operation { if x != nil { return x.Operation @@ -5335,18 +5304,13 @@ const file_temporal_server_api_matchingservice_v1_request_response_proto_rawDesc "\rwait_new_data\x18\x04 \x01(\bR\vwaitNewData\x12$\n" + "\x0eonly_if_loaded\x18\x06 \x01(\bR\fonlyIfLoaded\"\x81\x01\n" + "\x1cGetTaskQueueUserDataResponse\x12[\n" + - "\tuser_data\x18\x02 \x01(\v2>.temporal.server.api.persistence.v1.VersionedTaskQueueUserDataR\buserDataJ\x04\b\x01\x10\x02\"\xbe\b\n" + + "\tuser_data\x18\x02 \x01(\v2>.temporal.server.api.persistence.v1.VersionedTaskQueueUserDataR\buserDataJ\x04\b\x01\x10\x02\"\xf4\x06\n" + "\x1dSyncDeploymentUserDataRequest\x12!\n" + "\fnamespace_id\x18\x01 \x01(\tR\vnamespaceId\x12\x1d\n" + "\n" + "task_queue\x18\x02 \x01(\tR\ttaskQueue\x12'\n" + - "\x0fdeployment_name\x18\t \x01(\tR\x0edeploymentName\x12L\n" + - "\x0ftask_queue_type\x18\x03 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\rtaskQueueType\x12N\n" + - "\x10task_queue_types\x18\b \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x0etaskQueueTypes\x12F\n" + - "\n" + - "deployment\x18\x04 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12D\n" + - "\x04data\x18\x05 \x01(\v20.temporal.server.api.deployment.v1.TaskQueueDataR\x04data\x12n\n" + + "\x0fdeployment_name\x18\t \x01(\tR\x0edeploymentName\x12N\n" + + "\x10task_queue_types\x18\b \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x0etaskQueueTypes\x12n\n" + "\x13update_version_data\x18\x06 \x01(\v28.temporal.server.api.deployment.v1.DeploymentVersionDataB\x02\x18\x01H\x00R\x11updateVersionData\x12g\n" + "\x0eforget_version\x18\a \x01(\v2:.temporal.server.api.deployment.v1.WorkerDeploymentVersionB\x02\x18\x01H\x00R\rforgetVersion\x12]\n" + "\x15update_routing_config\x18\n" + @@ -5356,7 +5320,7 @@ const file_temporal_server_api_matchingservice_v1_request_response_proto_rawDesc "\x17UpsertVersionsDataEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12T\n" + "\x05value\x18\x02 \x01(\v2>.temporal.server.api.deployment.v1.WorkerDeploymentVersionDataR\x05value:\x028\x01B\v\n" + - "\toperation\"p\n" + + "\toperationJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06\"p\n" + "\x1eSyncDeploymentUserDataResponse\x12\x18\n" + "\aversion\x18\x01 \x01(\x03R\aversion\x124\n" + "\x16routing_config_changed\x18\x02 \x01(\bR\x14routingConfigChanged\"\xc5\x01\n" + @@ -5632,30 +5596,28 @@ var file_temporal_server_api_matchingservice_v1_request_response_proto_goTypes = (*v1.GetWorkerBuildIdCompatibilityRequest)(nil), // 119: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest (*v1.GetWorkerBuildIdCompatibilityResponse)(nil), // 120: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse (*v111.VersionedTaskQueueUserData)(nil), // 121: temporal.server.api.persistence.v1.VersionedTaskQueueUserData - (*v112.Deployment)(nil), // 122: temporal.api.deployment.v1.Deployment - (*v110.TaskQueueData)(nil), // 123: temporal.server.api.deployment.v1.TaskQueueData - (*v110.DeploymentVersionData)(nil), // 124: temporal.server.api.deployment.v1.DeploymentVersionData - (*v112.RoutingConfig)(nil), // 125: temporal.api.deployment.v1.RoutingConfig - (*v111.TaskQueueUserData)(nil), // 126: temporal.server.api.persistence.v1.TaskQueueUserData - (*v113.Request)(nil), // 127: temporal.api.nexus.v1.Request - (*v113.HandlerError)(nil), // 128: temporal.api.nexus.v1.HandlerError - (*v113.Response)(nil), // 129: temporal.api.nexus.v1.Response - (*v1.PollNexusTaskQueueRequest)(nil), // 130: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest - (*v1.PollNexusTaskQueueResponse)(nil), // 131: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse - (*v1.RespondNexusTaskCompletedRequest)(nil), // 132: temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest - (*v1.RespondNexusTaskFailedRequest)(nil), // 133: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest - (*v111.NexusEndpointSpec)(nil), // 134: temporal.server.api.persistence.v1.NexusEndpointSpec - (*v111.NexusEndpointEntry)(nil), // 135: temporal.server.api.persistence.v1.NexusEndpointEntry - (*v1.RecordWorkerHeartbeatRequest)(nil), // 136: temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest - (*v1.ListWorkersRequest)(nil), // 137: temporal.api.workflowservice.v1.ListWorkersRequest - (*v114.WorkerInfo)(nil), // 138: temporal.api.worker.v1.WorkerInfo - (*v1.UpdateTaskQueueConfigRequest)(nil), // 139: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest - (*v14.TaskQueueConfig)(nil), // 140: temporal.api.taskqueue.v1.TaskQueueConfig - (*v1.DescribeWorkerRequest)(nil), // 141: temporal.api.workflowservice.v1.DescribeWorkerRequest - (*v14.TaskQueueStats)(nil), // 142: temporal.api.taskqueue.v1.TaskQueueStats - (*v18.TaskQueueVersionInfoInternal)(nil), // 143: temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal - (*v1.UpdateWorkerBuildIdCompatibilityRequest)(nil), // 144: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest - (*v110.WorkerDeploymentVersionData)(nil), // 145: temporal.server.api.deployment.v1.WorkerDeploymentVersionData + (*v110.DeploymentVersionData)(nil), // 122: temporal.server.api.deployment.v1.DeploymentVersionData + (*v112.RoutingConfig)(nil), // 123: temporal.api.deployment.v1.RoutingConfig + (*v111.TaskQueueUserData)(nil), // 124: temporal.server.api.persistence.v1.TaskQueueUserData + (*v113.Request)(nil), // 125: temporal.api.nexus.v1.Request + (*v113.HandlerError)(nil), // 126: temporal.api.nexus.v1.HandlerError + (*v113.Response)(nil), // 127: temporal.api.nexus.v1.Response + (*v1.PollNexusTaskQueueRequest)(nil), // 128: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest + (*v1.PollNexusTaskQueueResponse)(nil), // 129: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse + (*v1.RespondNexusTaskCompletedRequest)(nil), // 130: temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest + (*v1.RespondNexusTaskFailedRequest)(nil), // 131: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest + (*v111.NexusEndpointSpec)(nil), // 132: temporal.server.api.persistence.v1.NexusEndpointSpec + (*v111.NexusEndpointEntry)(nil), // 133: temporal.server.api.persistence.v1.NexusEndpointEntry + (*v1.RecordWorkerHeartbeatRequest)(nil), // 134: temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest + (*v1.ListWorkersRequest)(nil), // 135: temporal.api.workflowservice.v1.ListWorkersRequest + (*v114.WorkerInfo)(nil), // 136: temporal.api.worker.v1.WorkerInfo + (*v1.UpdateTaskQueueConfigRequest)(nil), // 137: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest + (*v14.TaskQueueConfig)(nil), // 138: temporal.api.taskqueue.v1.TaskQueueConfig + (*v1.DescribeWorkerRequest)(nil), // 139: temporal.api.workflowservice.v1.DescribeWorkerRequest + (*v14.TaskQueueStats)(nil), // 140: temporal.api.taskqueue.v1.TaskQueueStats + (*v18.TaskQueueVersionInfoInternal)(nil), // 141: temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal + (*v1.UpdateWorkerBuildIdCompatibilityRequest)(nil), // 142: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest + (*v110.WorkerDeploymentVersionData)(nil), // 143: temporal.server.api.deployment.v1.WorkerDeploymentVersionData } var file_temporal_server_api_matchingservice_v1_request_response_proto_depIdxs = []int32{ 85, // 0: temporal.server.api.matchingservice.v1.PollWorkflowTaskQueueRequest.poll_request:type_name -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest @@ -5735,60 +5697,57 @@ var file_temporal_server_api_matchingservice_v1_request_response_proto_depIdxs = 120, // 74: temporal.server.api.matchingservice.v1.GetWorkerBuildIdCompatibilityResponse.response:type_name -> temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse 108, // 75: temporal.server.api.matchingservice.v1.GetTaskQueueUserDataRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType 121, // 76: temporal.server.api.matchingservice.v1.GetTaskQueueUserDataResponse.user_data:type_name -> temporal.server.api.persistence.v1.VersionedTaskQueueUserData - 108, // 77: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 108, // 78: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType - 122, // 79: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment - 123, // 80: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.data:type_name -> temporal.server.api.deployment.v1.TaskQueueData - 124, // 81: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.update_version_data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData - 110, // 82: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.forget_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 125, // 83: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 83, // 84: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.upsert_versions_data:type_name -> temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.UpsertVersionsDataEntry - 126, // 85: temporal.server.api.matchingservice.v1.ApplyTaskQueueUserDataReplicationEventRequest.user_data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData - 112, // 86: temporal.server.api.matchingservice.v1.ForceLoadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition - 108, // 87: temporal.server.api.matchingservice.v1.ForceUnloadTaskQueueRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 112, // 88: temporal.server.api.matchingservice.v1.ForceUnloadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition - 121, // 89: temporal.server.api.matchingservice.v1.UpdateTaskQueueUserDataRequest.user_data:type_name -> temporal.server.api.persistence.v1.VersionedTaskQueueUserData - 126, // 90: temporal.server.api.matchingservice.v1.ReplicateTaskQueueUserDataRequest.user_data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData - 90, // 91: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue - 127, // 92: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.request:type_name -> temporal.api.nexus.v1.Request - 104, // 93: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.forward_info:type_name -> temporal.server.api.taskqueue.v1.TaskForwardInfo - 128, // 94: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.handler_error:type_name -> temporal.api.nexus.v1.HandlerError - 129, // 95: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.response:type_name -> temporal.api.nexus.v1.Response - 84, // 96: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.request_timeout:type_name -> temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.Timeout - 130, // 97: temporal.server.api.matchingservice.v1.PollNexusTaskQueueRequest.request:type_name -> temporal.api.workflowservice.v1.PollNexusTaskQueueRequest - 131, // 98: temporal.server.api.matchingservice.v1.PollNexusTaskQueueResponse.response:type_name -> temporal.api.workflowservice.v1.PollNexusTaskQueueResponse - 90, // 99: temporal.server.api.matchingservice.v1.RespondNexusTaskCompletedRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue - 132, // 100: temporal.server.api.matchingservice.v1.RespondNexusTaskCompletedRequest.request:type_name -> temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest - 90, // 101: temporal.server.api.matchingservice.v1.RespondNexusTaskFailedRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue - 133, // 102: temporal.server.api.matchingservice.v1.RespondNexusTaskFailedRequest.request:type_name -> temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest - 134, // 103: temporal.server.api.matchingservice.v1.CreateNexusEndpointRequest.spec:type_name -> temporal.server.api.persistence.v1.NexusEndpointSpec - 135, // 104: temporal.server.api.matchingservice.v1.CreateNexusEndpointResponse.entry:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry - 134, // 105: temporal.server.api.matchingservice.v1.UpdateNexusEndpointRequest.spec:type_name -> temporal.server.api.persistence.v1.NexusEndpointSpec - 135, // 106: temporal.server.api.matchingservice.v1.UpdateNexusEndpointResponse.entry:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry - 135, // 107: temporal.server.api.matchingservice.v1.ListNexusEndpointsResponse.entries:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry - 136, // 108: temporal.server.api.matchingservice.v1.RecordWorkerHeartbeatRequest.heartbeart_request:type_name -> temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest - 137, // 109: temporal.server.api.matchingservice.v1.ListWorkersRequest.list_request:type_name -> temporal.api.workflowservice.v1.ListWorkersRequest - 138, // 110: temporal.server.api.matchingservice.v1.ListWorkersResponse.workers_info:type_name -> temporal.api.worker.v1.WorkerInfo - 139, // 111: temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigRequest.update_taskqueue_config:type_name -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest - 140, // 112: temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigResponse.updated_taskqueue_config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig - 141, // 113: temporal.server.api.matchingservice.v1.DescribeWorkerRequest.request:type_name -> temporal.api.workflowservice.v1.DescribeWorkerRequest - 138, // 114: temporal.server.api.matchingservice.v1.DescribeWorkerResponse.worker_info:type_name -> temporal.api.worker.v1.WorkerInfo - 108, // 115: temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 110, // 116: temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion - 88, // 117: temporal.server.api.matchingservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry.value:type_name -> temporal.api.query.v1.WorkflowQuery - 108, // 118: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesRequest.VersionTaskQueue.type:type_name -> temporal.api.enums.v1.TaskQueueType - 108, // 119: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.type:type_name -> temporal.api.enums.v1.TaskQueueType - 142, // 120: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.stats:type_name -> temporal.api.taskqueue.v1.TaskQueueStats - 79, // 121: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.stats_by_priority_key:type_name -> temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.StatsByPriorityKeyEntry - 142, // 122: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.StatsByPriorityKeyEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueStats - 143, // 123: temporal.server.api.matchingservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry.value:type_name -> temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal - 144, // 124: temporal.server.api.matchingservice.v1.UpdateWorkerBuildIdCompatibilityRequest.ApplyPublicRequest.request:type_name -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest - 145, // 125: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.UpsertVersionsDataEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData - 126, // [126:126] is the sub-list for method output_type - 126, // [126:126] is the sub-list for method input_type - 126, // [126:126] is the sub-list for extension type_name - 126, // [126:126] is the sub-list for extension extendee - 0, // [0:126] is the sub-list for field type_name + 108, // 77: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType + 122, // 78: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.update_version_data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData + 110, // 79: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.forget_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 123, // 80: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 83, // 81: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.upsert_versions_data:type_name -> temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.UpsertVersionsDataEntry + 124, // 82: temporal.server.api.matchingservice.v1.ApplyTaskQueueUserDataReplicationEventRequest.user_data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData + 112, // 83: temporal.server.api.matchingservice.v1.ForceLoadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition + 108, // 84: temporal.server.api.matchingservice.v1.ForceUnloadTaskQueueRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 112, // 85: temporal.server.api.matchingservice.v1.ForceUnloadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition + 121, // 86: temporal.server.api.matchingservice.v1.UpdateTaskQueueUserDataRequest.user_data:type_name -> temporal.server.api.persistence.v1.VersionedTaskQueueUserData + 124, // 87: temporal.server.api.matchingservice.v1.ReplicateTaskQueueUserDataRequest.user_data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData + 90, // 88: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 125, // 89: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.request:type_name -> temporal.api.nexus.v1.Request + 104, // 90: temporal.server.api.matchingservice.v1.DispatchNexusTaskRequest.forward_info:type_name -> temporal.server.api.taskqueue.v1.TaskForwardInfo + 126, // 91: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.handler_error:type_name -> temporal.api.nexus.v1.HandlerError + 127, // 92: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.response:type_name -> temporal.api.nexus.v1.Response + 84, // 93: temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.request_timeout:type_name -> temporal.server.api.matchingservice.v1.DispatchNexusTaskResponse.Timeout + 128, // 94: temporal.server.api.matchingservice.v1.PollNexusTaskQueueRequest.request:type_name -> temporal.api.workflowservice.v1.PollNexusTaskQueueRequest + 129, // 95: temporal.server.api.matchingservice.v1.PollNexusTaskQueueResponse.response:type_name -> temporal.api.workflowservice.v1.PollNexusTaskQueueResponse + 90, // 96: temporal.server.api.matchingservice.v1.RespondNexusTaskCompletedRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 130, // 97: temporal.server.api.matchingservice.v1.RespondNexusTaskCompletedRequest.request:type_name -> temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest + 90, // 98: temporal.server.api.matchingservice.v1.RespondNexusTaskFailedRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 131, // 99: temporal.server.api.matchingservice.v1.RespondNexusTaskFailedRequest.request:type_name -> temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest + 132, // 100: temporal.server.api.matchingservice.v1.CreateNexusEndpointRequest.spec:type_name -> temporal.server.api.persistence.v1.NexusEndpointSpec + 133, // 101: temporal.server.api.matchingservice.v1.CreateNexusEndpointResponse.entry:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry + 132, // 102: temporal.server.api.matchingservice.v1.UpdateNexusEndpointRequest.spec:type_name -> temporal.server.api.persistence.v1.NexusEndpointSpec + 133, // 103: temporal.server.api.matchingservice.v1.UpdateNexusEndpointResponse.entry:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry + 133, // 104: temporal.server.api.matchingservice.v1.ListNexusEndpointsResponse.entries:type_name -> temporal.server.api.persistence.v1.NexusEndpointEntry + 134, // 105: temporal.server.api.matchingservice.v1.RecordWorkerHeartbeatRequest.heartbeart_request:type_name -> temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest + 135, // 106: temporal.server.api.matchingservice.v1.ListWorkersRequest.list_request:type_name -> temporal.api.workflowservice.v1.ListWorkersRequest + 136, // 107: temporal.server.api.matchingservice.v1.ListWorkersResponse.workers_info:type_name -> temporal.api.worker.v1.WorkerInfo + 137, // 108: temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigRequest.update_taskqueue_config:type_name -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest + 138, // 109: temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigResponse.updated_taskqueue_config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig + 139, // 110: temporal.server.api.matchingservice.v1.DescribeWorkerRequest.request:type_name -> temporal.api.workflowservice.v1.DescribeWorkerRequest + 136, // 111: temporal.server.api.matchingservice.v1.DescribeWorkerResponse.worker_info:type_name -> temporal.api.worker.v1.WorkerInfo + 108, // 112: temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 110, // 113: temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion + 88, // 114: temporal.server.api.matchingservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry.value:type_name -> temporal.api.query.v1.WorkflowQuery + 108, // 115: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesRequest.VersionTaskQueue.type:type_name -> temporal.api.enums.v1.TaskQueueType + 108, // 116: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.type:type_name -> temporal.api.enums.v1.TaskQueueType + 140, // 117: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.stats:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 79, // 118: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.stats_by_priority_key:type_name -> temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.StatsByPriorityKeyEntry + 140, // 119: temporal.server.api.matchingservice.v1.DescribeVersionedTaskQueuesResponse.VersionTaskQueue.StatsByPriorityKeyEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 141, // 120: temporal.server.api.matchingservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry.value:type_name -> temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal + 142, // 121: temporal.server.api.matchingservice.v1.UpdateWorkerBuildIdCompatibilityRequest.ApplyPublicRequest.request:type_name -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest + 143, // 122: temporal.server.api.matchingservice.v1.SyncDeploymentUserDataRequest.UpsertVersionsDataEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData + 123, // [123:123] is the sub-list for method output_type + 123, // [123:123] is the sub-list for method input_type + 123, // [123:123] is the sub-list for extension type_name + 123, // [123:123] is the sub-list for extension extendee + 0, // [0:123] is the sub-list for field type_name } func init() { file_temporal_server_api_matchingservice_v1_request_response_proto_init() } diff --git a/api/persistence/v1/task_queues.pb.go b/api/persistence/v1/task_queues.pb.go index 81d9db8a77..45c66fc50b 100644 --- a/api/persistence/v1/task_queues.pb.go +++ b/api/persistence/v1/task_queues.pb.go @@ -446,13 +446,6 @@ func (x *VersioningData) GetRedirectRules() []*RedirectRule { type DeploymentData struct { state protoimpl.MessageState `protogen:"open.v1"` - // Set of deployments that this task queue belongs to. - // Current deployment is defined implicitly as the deployment with the most recent - // TaskQueueData.last_became_current_time. - // Deprecated. - // - // Deprecated: Marked as deprecated in temporal/server/api/persistence/v1/task_queues.proto. - Deployments []*DeploymentData_DeploymentDataItem `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` // Set of worker deployment versions that this task queue belongs to. // Current Version is defined implicitly as the version with `current_since_time!=nil` and the most // recent `routing_update_time`. @@ -508,14 +501,6 @@ func (*DeploymentData) Descriptor() ([]byte, []int) { return file_temporal_server_api_persistence_v1_task_queues_proto_rawDescGZIP(), []int{5} } -// Deprecated: Marked as deprecated in temporal/server/api/persistence/v1/task_queues.proto. -func (x *DeploymentData) GetDeployments() []*DeploymentData_DeploymentDataItem { - if x != nil { - return x.Deployments - } - return nil -} - // Deprecated: Marked as deprecated in temporal/server/api/persistence/v1/task_queues.proto. func (x *DeploymentData) GetVersions() []*v12.DeploymentVersionData { if x != nil { @@ -771,59 +756,6 @@ func (x *VersionedTaskQueueUserData) GetVersion() int64 { return 0 } -// Deprecated. -type DeploymentData_DeploymentDataItem struct { - state protoimpl.MessageState `protogen:"open.v1"` - Deployment *v13.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - Data *v12.TaskQueueData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeploymentData_DeploymentDataItem) Reset() { - *x = DeploymentData_DeploymentDataItem{} - mi := &file_temporal_server_api_persistence_v1_task_queues_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeploymentData_DeploymentDataItem) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentData_DeploymentDataItem) ProtoMessage() {} - -func (x *DeploymentData_DeploymentDataItem) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_persistence_v1_task_queues_proto_msgTypes[11] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentData_DeploymentDataItem.ProtoReflect.Descriptor instead. -func (*DeploymentData_DeploymentDataItem) Descriptor() ([]byte, []int) { - return file_temporal_server_api_persistence_v1_task_queues_proto_rawDescGZIP(), []int{5, 1} -} - -func (x *DeploymentData_DeploymentDataItem) GetDeployment() *v13.Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *DeploymentData_DeploymentDataItem) GetData() *v12.TaskQueueData { - if x != nil { - return x.Data - } - return nil -} - var File_temporal_server_api_persistence_v1_task_queues_proto protoreflect.FileDescriptor const file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc = "" + @@ -853,20 +785,14 @@ const file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc = "" + "\x0eVersioningData\x12[\n" + "\fversion_sets\x18\x01 \x03(\v28.temporal.server.api.persistence.v1.CompatibleVersionSetR\vversionSets\x12]\n" + "\x10assignment_rules\x18\x02 \x03(\v22.temporal.server.api.persistence.v1.AssignmentRuleR\x0fassignmentRules\x12W\n" + - "\x0eredirect_rules\x18\x03 \x03(\v20.temporal.server.api.persistence.v1.RedirectRuleR\rredirectRules\"\xe0\x05\n" + - "\x0eDeploymentData\x12k\n" + - "\vdeployments\x18\x01 \x03(\v2E.temporal.server.api.persistence.v1.DeploymentData.DeploymentDataItemB\x02\x18\x01R\vdeployments\x12X\n" + + "\x0eredirect_rules\x18\x03 \x03(\v20.temporal.server.api.persistence.v1.RedirectRuleR\rredirectRules\"\xd4\x03\n" + + "\x0eDeploymentData\x12X\n" + "\bversions\x18\x02 \x03(\v28.temporal.server.api.deployment.v1.DeploymentVersionDataB\x02\x18\x01R\bversions\x12p\n" + "\x15unversioned_ramp_data\x18\x03 \x01(\v28.temporal.server.api.deployment.v1.DeploymentVersionDataB\x02\x18\x01R\x13unversionedRampData\x12r\n" + "\x10deployments_data\x18\x04 \x03(\v2G.temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntryR\x0fdeploymentsData\x1a|\n" + "\x14DeploymentsDataEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12N\n" + - "\x05value\x18\x02 \x01(\v28.temporal.server.api.persistence.v1.WorkerDeploymentDataR\x05value:\x028\x01\x1a\xa2\x01\n" + - "\x12DeploymentDataItem\x12F\n" + - "\n" + - "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + - "deployment\x12D\n" + - "\x04data\x18\x02 \x01(\v20.temporal.server.api.deployment.v1.TaskQueueDataR\x04data\"\xc9\x02\n" + + "\x05value\x18\x02 \x01(\v28.temporal.server.api.persistence.v1.WorkerDeploymentDataR\x05value:\x028\x01J\x04\b\x01\x10\x02\"\xc9\x02\n" + "\x14WorkerDeploymentData\x12P\n" + "\x0erouting_config\x18\x01 \x01(\v2).temporal.api.deployment.v1.RoutingConfigR\rroutingConfig\x12b\n" + "\bversions\x18\x02 \x03(\v2F.temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntryR\bversions\x1a{\n" + @@ -900,7 +826,7 @@ func file_temporal_server_api_persistence_v1_task_queues_proto_rawDescGZIP() []b } var file_temporal_server_api_persistence_v1_task_queues_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_temporal_server_api_persistence_v1_task_queues_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_temporal_server_api_persistence_v1_task_queues_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_temporal_server_api_persistence_v1_task_queues_proto_goTypes = []any{ (BuildId_State)(0), // 0: temporal.server.api.persistence.v1.BuildId.State (*BuildId)(nil), // 1: temporal.server.api.persistence.v1.BuildId @@ -914,56 +840,50 @@ var file_temporal_server_api_persistence_v1_task_queues_proto_goTypes = []any{ (*TaskQueueUserData)(nil), // 9: temporal.server.api.persistence.v1.TaskQueueUserData (*VersionedTaskQueueUserData)(nil), // 10: temporal.server.api.persistence.v1.VersionedTaskQueueUserData nil, // 11: temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntry - (*DeploymentData_DeploymentDataItem)(nil), // 12: temporal.server.api.persistence.v1.DeploymentData.DeploymentDataItem - nil, // 13: temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry - nil, // 14: temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry - (*v1.HybridLogicalClock)(nil), // 15: temporal.server.api.clock.v1.HybridLogicalClock - (*v11.BuildIdAssignmentRule)(nil), // 16: temporal.api.taskqueue.v1.BuildIdAssignmentRule - (*v11.CompatibleBuildIdRedirectRule)(nil), // 17: temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule - (*v12.DeploymentVersionData)(nil), // 18: temporal.server.api.deployment.v1.DeploymentVersionData - (*v13.RoutingConfig)(nil), // 19: temporal.api.deployment.v1.RoutingConfig - (*v11.TaskQueueConfig)(nil), // 20: temporal.api.taskqueue.v1.TaskQueueConfig - (*v13.Deployment)(nil), // 21: temporal.api.deployment.v1.Deployment - (*v12.TaskQueueData)(nil), // 22: temporal.server.api.deployment.v1.TaskQueueData - (*v12.WorkerDeploymentVersionData)(nil), // 23: temporal.server.api.deployment.v1.WorkerDeploymentVersionData + nil, // 12: temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry + nil, // 13: temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry + (*v1.HybridLogicalClock)(nil), // 14: temporal.server.api.clock.v1.HybridLogicalClock + (*v11.BuildIdAssignmentRule)(nil), // 15: temporal.api.taskqueue.v1.BuildIdAssignmentRule + (*v11.CompatibleBuildIdRedirectRule)(nil), // 16: temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + (*v12.DeploymentVersionData)(nil), // 17: temporal.server.api.deployment.v1.DeploymentVersionData + (*v13.RoutingConfig)(nil), // 18: temporal.api.deployment.v1.RoutingConfig + (*v11.TaskQueueConfig)(nil), // 19: temporal.api.taskqueue.v1.TaskQueueConfig + (*v12.WorkerDeploymentVersionData)(nil), // 20: temporal.server.api.deployment.v1.WorkerDeploymentVersionData } var file_temporal_server_api_persistence_v1_task_queues_proto_depIdxs = []int32{ 0, // 0: temporal.server.api.persistence.v1.BuildId.state:type_name -> temporal.server.api.persistence.v1.BuildId.State - 15, // 1: temporal.server.api.persistence.v1.BuildId.state_update_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 15, // 2: temporal.server.api.persistence.v1.BuildId.became_default_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 14, // 1: temporal.server.api.persistence.v1.BuildId.state_update_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 14, // 2: temporal.server.api.persistence.v1.BuildId.became_default_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock 1, // 3: temporal.server.api.persistence.v1.CompatibleVersionSet.build_ids:type_name -> temporal.server.api.persistence.v1.BuildId - 15, // 4: temporal.server.api.persistence.v1.CompatibleVersionSet.became_default_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 16, // 5: temporal.server.api.persistence.v1.AssignmentRule.rule:type_name -> temporal.api.taskqueue.v1.BuildIdAssignmentRule - 15, // 6: temporal.server.api.persistence.v1.AssignmentRule.create_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 15, // 7: temporal.server.api.persistence.v1.AssignmentRule.delete_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 17, // 8: temporal.server.api.persistence.v1.RedirectRule.rule:type_name -> temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule - 15, // 9: temporal.server.api.persistence.v1.RedirectRule.create_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 15, // 10: temporal.server.api.persistence.v1.RedirectRule.delete_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 14, // 4: temporal.server.api.persistence.v1.CompatibleVersionSet.became_default_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 15, // 5: temporal.server.api.persistence.v1.AssignmentRule.rule:type_name -> temporal.api.taskqueue.v1.BuildIdAssignmentRule + 14, // 6: temporal.server.api.persistence.v1.AssignmentRule.create_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 14, // 7: temporal.server.api.persistence.v1.AssignmentRule.delete_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 16, // 8: temporal.server.api.persistence.v1.RedirectRule.rule:type_name -> temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + 14, // 9: temporal.server.api.persistence.v1.RedirectRule.create_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 14, // 10: temporal.server.api.persistence.v1.RedirectRule.delete_timestamp:type_name -> temporal.server.api.clock.v1.HybridLogicalClock 2, // 11: temporal.server.api.persistence.v1.VersioningData.version_sets:type_name -> temporal.server.api.persistence.v1.CompatibleVersionSet 3, // 12: temporal.server.api.persistence.v1.VersioningData.assignment_rules:type_name -> temporal.server.api.persistence.v1.AssignmentRule 4, // 13: temporal.server.api.persistence.v1.VersioningData.redirect_rules:type_name -> temporal.server.api.persistence.v1.RedirectRule - 12, // 14: temporal.server.api.persistence.v1.DeploymentData.deployments:type_name -> temporal.server.api.persistence.v1.DeploymentData.DeploymentDataItem - 18, // 15: temporal.server.api.persistence.v1.DeploymentData.versions:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData - 18, // 16: temporal.server.api.persistence.v1.DeploymentData.unversioned_ramp_data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData - 11, // 17: temporal.server.api.persistence.v1.DeploymentData.deployments_data:type_name -> temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntry - 19, // 18: temporal.server.api.persistence.v1.WorkerDeploymentData.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig - 13, // 19: temporal.server.api.persistence.v1.WorkerDeploymentData.versions:type_name -> temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry - 6, // 20: temporal.server.api.persistence.v1.TaskQueueTypeUserData.deployment_data:type_name -> temporal.server.api.persistence.v1.DeploymentData - 20, // 21: temporal.server.api.persistence.v1.TaskQueueTypeUserData.config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig - 15, // 22: temporal.server.api.persistence.v1.TaskQueueUserData.clock:type_name -> temporal.server.api.clock.v1.HybridLogicalClock - 5, // 23: temporal.server.api.persistence.v1.TaskQueueUserData.versioning_data:type_name -> temporal.server.api.persistence.v1.VersioningData - 14, // 24: temporal.server.api.persistence.v1.TaskQueueUserData.per_type:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry - 9, // 25: temporal.server.api.persistence.v1.VersionedTaskQueueUserData.data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData - 7, // 26: temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntry.value:type_name -> temporal.server.api.persistence.v1.WorkerDeploymentData - 21, // 27: temporal.server.api.persistence.v1.DeploymentData.DeploymentDataItem.deployment:type_name -> temporal.api.deployment.v1.Deployment - 22, // 28: temporal.server.api.persistence.v1.DeploymentData.DeploymentDataItem.data:type_name -> temporal.server.api.deployment.v1.TaskQueueData - 23, // 29: temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData - 8, // 30: temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry.value:type_name -> temporal.server.api.persistence.v1.TaskQueueTypeUserData - 31, // [31:31] is the sub-list for method output_type - 31, // [31:31] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 17, // 14: temporal.server.api.persistence.v1.DeploymentData.versions:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData + 17, // 15: temporal.server.api.persistence.v1.DeploymentData.unversioned_ramp_data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData + 11, // 16: temporal.server.api.persistence.v1.DeploymentData.deployments_data:type_name -> temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntry + 18, // 17: temporal.server.api.persistence.v1.WorkerDeploymentData.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 12, // 18: temporal.server.api.persistence.v1.WorkerDeploymentData.versions:type_name -> temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry + 6, // 19: temporal.server.api.persistence.v1.TaskQueueTypeUserData.deployment_data:type_name -> temporal.server.api.persistence.v1.DeploymentData + 19, // 20: temporal.server.api.persistence.v1.TaskQueueTypeUserData.config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig + 14, // 21: temporal.server.api.persistence.v1.TaskQueueUserData.clock:type_name -> temporal.server.api.clock.v1.HybridLogicalClock + 5, // 22: temporal.server.api.persistence.v1.TaskQueueUserData.versioning_data:type_name -> temporal.server.api.persistence.v1.VersioningData + 13, // 23: temporal.server.api.persistence.v1.TaskQueueUserData.per_type:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry + 9, // 24: temporal.server.api.persistence.v1.VersionedTaskQueueUserData.data:type_name -> temporal.server.api.persistence.v1.TaskQueueUserData + 7, // 25: temporal.server.api.persistence.v1.DeploymentData.DeploymentsDataEntry.value:type_name -> temporal.server.api.persistence.v1.WorkerDeploymentData + 20, // 26: temporal.server.api.persistence.v1.WorkerDeploymentData.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData + 8, // 27: temporal.server.api.persistence.v1.TaskQueueUserData.PerTypeEntry.value:type_name -> temporal.server.api.persistence.v1.TaskQueueTypeUserData + 28, // [28:28] is the sub-list for method output_type + 28, // [28:28] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_temporal_server_api_persistence_v1_task_queues_proto_init() } @@ -977,7 +897,7 @@ func file_temporal_server_api_persistence_v1_task_queues_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc), len(file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc)), NumEnums: 1, - NumMessages: 14, + NumMessages: 13, NumExtensions: 0, NumServices: 0, }, diff --git a/common/worker_versioning/worker_versioning.go b/common/worker_versioning/worker_versioning.go index 110ad0b404..afc4703d33 100644 --- a/common/worker_versioning/worker_versioning.go +++ b/common/worker_versioning/worker_versioning.go @@ -278,16 +278,6 @@ func GetIsWFTaskQueueInVersionDetector(matchingClient resource.MatchingClient) I } } -// [cleanup-wv-pre-release] -func FindDeployment(deployments *persistencespb.DeploymentData, deployment *deploymentpb.Deployment) int { - for i, d := range deployments.GetDeployments() { //nolint:staticcheck // SA1019: worker versioning v0.30 - if d.Deployment.Equal(deployment) { - return i - } - } - return -1 -} - func FindDeploymentVersion(deployments *persistencespb.DeploymentData, v *deploymentspb.WorkerDeploymentVersion) int { for i, vd := range deployments.GetVersions() { if proto.Equal(v, vd.GetVersion()) { @@ -304,11 +294,6 @@ func HasDeploymentVersion(deployments *persistencespb.DeploymentData, v *deploym return false } - for _, d := range deployments.GetDeployments() { - if d.Deployment.Equal(DeploymentFromDeploymentVersion(v)) { - return true - } - } for _, vd := range deployments.GetVersions() { if proto.Equal(v, vd.GetVersion()) { return true @@ -700,19 +685,6 @@ func CalculateTaskQueueVersioningInfo(deployments *persistencespb.DeploymentData var current *deploymentspb.DeploymentVersionData ramping := deployments.GetUnversionedRampData() // nil if there is no unversioned ramp - // Find old current - for _, d := range deployments.GetDeployments() { - // [cleanup-old-wv] - if d.Data.LastBecameCurrentTime != nil { - if t := d.Data.LastBecameCurrentTime.AsTime(); t.After(current.GetRoutingUpdateTime().AsTime()) { - current = &deploymentspb.DeploymentVersionData{ - Version: DeploymentVersionFromDeployment(d.Deployment), - RoutingUpdateTime: d.Data.LastBecameCurrentTime, - } - } - } - } - // Find current and ramping // [cleanup-pp-wv] for _, v := range deployments.GetVersions() { diff --git a/common/worker_versioning/worker_versioning_test.go b/common/worker_versioning/worker_versioning_test.go index 664e8ba41f..dffbe6c0b2 100644 --- a/common/worker_versioning/worker_versioning_test.go +++ b/common/worker_versioning/worker_versioning_test.go @@ -44,12 +44,6 @@ func TestCalculateTaskQueueVersioningInfo(t *testing.T) { }{ {name: "nil data"}, {name: "empty data", data: &persistencespb.DeploymentData{}}, - {name: "old data", wantCurrent: v1, - data: &persistencespb.DeploymentData{ - Deployments: []*persistencespb.DeploymentData_DeploymentDataItem{ - {Deployment: DeploymentFromDeploymentVersion(v1), Data: &deploymentspb.TaskQueueData{LastBecameCurrentTime: t1}}, - }}, - }, {name: "old deployment data: two current + two ramping", wantCurrent: v2, wantRamping: v3, @@ -109,16 +103,6 @@ func TestCalculateTaskQueueVersioningInfo(t *testing.T) { UnversionedRampData: &deploymentspb.DeploymentVersionData{Version: nil, RampPercentage: 100, RoutingUpdateTime: t2, RampingSinceTime: t2}, }, }, - {name: "mix of prerelease and public preview deployment data: one current", wantCurrent: v2, - data: &persistencespb.DeploymentData{ - Deployments: []*persistencespb.DeploymentData_DeploymentDataItem{ - {Deployment: DeploymentFromDeploymentVersion(v1), Data: &deploymentspb.TaskQueueData{LastBecameCurrentTime: t1}}, - }, - Versions: []*deploymentspb.DeploymentVersionData{ - {Version: v2, CurrentSinceTime: t2, RoutingUpdateTime: t2}, - }, - }, - }, // Membership related tests {name: "mixed: new RoutingConfig current overrides old when newer in membership", wantCurrent: v2, data: &persistencespb.DeploymentData{ diff --git a/proto/internal/temporal/server/api/deployment/v1/message.proto b/proto/internal/temporal/server/api/deployment/v1/message.proto index 705ef94c05..94e6614c0c 100644 --- a/proto/internal/temporal/server/api/deployment/v1/message.proto +++ b/proto/internal/temporal/server/api/deployment/v1/message.proto @@ -474,165 +474,3 @@ message WorkerDeploymentSummary { temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary current_version_summary = 5; temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary ramping_version_summary = 6; } - -// Used as Worker Deployment Version workflow activity input: -message AddVersionToWorkerDeploymentRequest { - string deployment_name = 1; - AddVersionUpdateArgs update_args = 2; - string request_id = 3; -} - -// Used as Worker Deployment Version workflow activity output: -message AddVersionToWorkerDeploymentResponse { -} - -////////////////////////////////////////////////////////////////////////// -// Below this line are the messages for the pre-release Deployment APIs // -////////////////////////////////////////////////////////////////////////// -// Data for each deployment+task queue pair. This is stored in each deployment (for each task -// queue), and synced to task queue user data (for each deployment). -message TaskQueueData { - google.protobuf.Timestamp first_poller_time = 1; - google.protobuf.Timestamp last_became_current_time = 2; -} - -message DeploymentLocalState { - temporal.api.deployment.v1.Deployment deployment = 1; - map task_queue_families = 2; - - bool is_current = 3; - google.protobuf.Timestamp last_became_current_time = 6; - - google.protobuf.Timestamp create_time = 4; - map metadata = 5; - - bool started_series_workflow = 7; - - message TaskQueueFamilyData { - // Key: enums.TaskQueueType, Value: TaskQueueData - // All fields in TaskQueueData are valid except last_became_current_time, the source of - // truth for that is the value at the root of DeploymentLocalState. - map task_queues = 1; - } -} - -// used as deployment workflow input: -message DeploymentWorkflowArgs { - string namespace_name = 1; - string namespace_id = 2; - DeploymentLocalState state = 3; -} - -// used as deployment series workflow input: -message DeploymentSeriesWorkflowArgs { - string namespace_name = 1; - string namespace_id = 2; - string series_name = 3; - SeriesLocalState state = 4; -} - -message SeriesLocalState { - string current_build_id = 1; - google.protobuf.Timestamp current_changed_time = 2; -} - -// used as deployment workflow update input: -message RegisterWorkerInDeploymentArgs { - string task_queue_name = 1; - temporal.api.enums.v1.TaskQueueType task_queue_type = 2; - google.protobuf.Timestamp first_poller_time = 3; - int32 max_task_queues = 4; -} - -// used as deployment series workflow update input (sent from series workflow): -message SyncDeploymentStateArgs { - SetCurrent set_current = 1; - // currently, update_metadata will only be set if set_current.last_became_current_time is - // present. this could change in the future. - temporal.api.deployment.v1.UpdateDeploymentMetadata update_metadata = 2; - - message SetCurrent { - // If last_became_current_time is present, then set the deployment's - // last_became_current_time to it and set is_current true. If it's missing, - // set is_current false. - google.protobuf.Timestamp last_became_current_time = 1; - } -} - -// used as deployment series workflow update response (sent from series workflow): -message SyncDeploymentStateResponse { - DeploymentLocalState deployment_local_state = 1; -} - -// used as deployment workflow query response: -message QueryDescribeDeploymentResponse { - DeploymentLocalState deployment_local_state = 1; -} - -// used as deployment workflow memo: -message DeploymentWorkflowMemo { - temporal.api.deployment.v1.Deployment deployment = 1; - google.protobuf.Timestamp create_time = 2; - bool is_current_deployment = 3; -} - -// used as deployment workflow activity input: -message StartDeploymentSeriesRequest { - string series_name = 1; - string request_id = 2; -} - -// used as deployment workflow activity input: -message SyncUserDataRequest { - temporal.api.deployment.v1.Deployment deployment = 1; - repeated SyncUserData sync= 2; - - message SyncUserData { - string name = 1; - temporal.api.enums.v1.TaskQueueType type = 2; - TaskQueueData data = 3; - } -} - -// used as deployment workflow activity output: -message SyncUserDataResponse { - map task_queue_max_versions = 1; -} - -// used as deployment workflow activity input: -message CheckUserDataPropagationRequest { - map task_queue_max_versions = 1; -} - -// used as deployment series workflow update input: -message SetCurrentDeploymentArgs { - string identity = 1; - string build_id = 2; - temporal.api.deployment.v1.UpdateDeploymentMetadata update_metadata = 3; - string request_id = 4; -} - -// used as deployment series update response: -message SetCurrentDeploymentResponse { - DeploymentLocalState current_deployment_state = 1; - DeploymentLocalState previous_deployment_state = 2; -} - -// used as deployment series activity input: -message SyncDeploymentStateActivityArgs { - temporal.api.deployment.v1.Deployment deployment = 1; - SyncDeploymentStateArgs args = 2; - string request_id = 3; -} - -// used as deployment series activity result: -message SyncDeploymentStateActivityResult { - DeploymentLocalState state = 1; -} - -// used as deployment series workflow memo: -message DeploymentSeriesWorkflowMemo { - string series_name = 1; - string current_build_id = 2; - google.protobuf.Timestamp current_changed_time = 3; -} diff --git a/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto b/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto index 67cbdb83df..5b260a5527 100644 --- a/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto +++ b/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto @@ -346,19 +346,9 @@ message SyncDeploymentUserDataRequest { // (-- api-linter: core::0203::required=disabled // aip.dev/not-precedent: Not following Google API format --) string deployment_name = 9; - // Note: this is the task queue type being modified, but this field should not be used for - // routing, the user data is owned by the WORKFLOW task queue. - // Deprecated. Use `task_queue_types`. - temporal.api.enums.v1.TaskQueueType task_queue_type = 3; + reserved 3, 4, 5; repeated temporal.api.enums.v1.TaskQueueType task_queue_types = 8; - // This is the deployment being modified. - // Deprecated. - temporal.api.deployment.v1.Deployment deployment = 4; - // Data for this deployment. - // Deprecated. - temporal.server.api.deployment.v1.TaskQueueData data = 5; - oneof operation { // The deployment version and its data that is being updated. temporal.server.api.deployment.v1.DeploymentVersionData update_version_data = 6 [deprecated = true]; diff --git a/proto/internal/temporal/server/api/persistence/v1/task_queues.proto b/proto/internal/temporal/server/api/persistence/v1/task_queues.proto index 10d9ed021f..8269f6c63f 100644 --- a/proto/internal/temporal/server/api/persistence/v1/task_queues.proto +++ b/proto/internal/temporal/server/api/persistence/v1/task_queues.proto @@ -86,12 +86,7 @@ message VersioningData { } message DeploymentData { - // Set of deployments that this task queue belongs to. - // Current deployment is defined implicitly as the deployment with the most recent - // TaskQueueData.last_became_current_time. - // Deprecated. - repeated DeploymentDataItem deployments = 1 [deprecated = true]; - + reserved 1; // Set of worker deployment versions that this task queue belongs to. // Current Version is defined implicitly as the version with `current_since_time!=nil` and the most // recent `routing_update_time`. @@ -111,13 +106,6 @@ message DeploymentData { // Routing and version membership data for all worker deployments that this task queue belongs to. // Key is the deployment name. map deployments_data = 4; - - - // Deprecated. - message DeploymentDataItem { - temporal.api.deployment.v1.Deployment deployment = 1; - temporal.server.api.deployment.v1.TaskQueueData data = 2; - } } // Routing config and version membership data for a given worker deployment that a TQ should know. diff --git a/service/frontend/fx.go b/service/frontend/fx.go index f53878ab0b..91b76d59ab 100644 --- a/service/frontend/fx.go +++ b/service/frontend/fx.go @@ -7,7 +7,7 @@ import ( "github.com/gorilla/mux" "go.temporal.io/server/api/adminservice/v1" "go.temporal.io/server/chasm" - schedulerpb "go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1" + "go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1" "go.temporal.io/server/client" "go.temporal.io/server/common" "go.temporal.io/server/common/archiver" @@ -42,7 +42,6 @@ import ( "go.temporal.io/server/service" "go.temporal.io/server/service/frontend/configs" "go.temporal.io/server/service/history/tasks" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/scheduler" "go.temporal.io/server/service/worker/workerdeployment" "go.uber.org/fx" @@ -63,7 +62,6 @@ type ( var Module = fx.Options( resource.Module, scheduler.Module, - deployment.Module, workerdeployment.Module, // Note that with this approach routes may be registered in arbitrary order. // This is okay because our routes don't have overlapping matches. @@ -749,7 +747,6 @@ func HandlerProvider( clientBean client.Bean, historyClient resource.HistoryClient, matchingClient resource.MatchingClient, - deploymentStoreClient deployment.DeploymentStoreClient, workerDeploymentStoreClient workerdeployment.Client, schedulerClient schedulerpb.SchedulerServiceClient, archiverProvider provider.ArchiverProvider, @@ -777,7 +774,6 @@ func HandlerProvider( persistenceMetadataManager, historyClient, matchingClient, - deploymentStoreClient, workerDeploymentStoreClient, schedulerClient, archiverProvider, diff --git a/service/frontend/workflow_handler.go b/service/frontend/workflow_handler.go index 07322c86bf..61b8f3199b 100644 --- a/service/frontend/workflow_handler.go +++ b/service/frontend/workflow_handler.go @@ -33,7 +33,7 @@ import ( "go.temporal.io/server/api/matchingservice/v1" schedulespb "go.temporal.io/server/api/schedule/v1" taskqueuespb "go.temporal.io/server/api/taskqueue/v1" - schedulerpb "go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1" + "go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1" "go.temporal.io/server/client/frontend" "go.temporal.io/server/common" "go.temporal.io/server/common/archiver" @@ -73,7 +73,6 @@ import ( "go.temporal.io/server/common/worker_versioning" "go.temporal.io/server/service/history/api" "go.temporal.io/server/service/worker/batcher" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/scheduler" "go.temporal.io/server/service/worker/workerdeployment" "google.golang.org/grpc/codes" @@ -129,7 +128,6 @@ type ( clusterMetadata cluster.Metadata historyClient historyservice.HistoryServiceClient matchingClient matchingservice.MatchingServiceClient - deploymentStoreClient deployment.DeploymentStoreClient workerDeploymentClient workerdeployment.Client schedulerClient schedulerpb.SchedulerServiceClient archiverProvider provider.ArchiverProvider @@ -161,7 +159,6 @@ func NewWorkflowHandler( persistenceMetadataManager persistence.MetadataManager, historyClient historyservice.HistoryServiceClient, matchingClient matchingservice.MatchingServiceClient, - deploymentStoreClient deployment.DeploymentStoreClient, workerDeploymentClient workerdeployment.Client, schedulerClient schedulerpb.SchedulerServiceClient, archiverProvider provider.ArchiverProvider, @@ -202,7 +199,6 @@ func NewWorkflowHandler( clusterMetadata: clusterMetadata, historyClient: historyClient, matchingClient: matchingClient, - deploymentStoreClient: deploymentStoreClient, workerDeploymentClient: workerDeploymentClient, schedulerClient: schedulerClient, archiverProvider: archiverProvider, diff --git a/service/frontend/workflow_handler_test.go b/service/frontend/workflow_handler_test.go index 061ecda3e2..bb7a565cf3 100644 --- a/service/frontend/workflow_handler_test.go +++ b/service/frontend/workflow_handler_test.go @@ -178,7 +178,6 @@ func (s *WorkflowHandlerSuite) getWorkflowHandler(config *Config) *WorkflowHandl s.mockResource.GetHistoryClient(), s.mockResource.GetMatchingClient(), nil, - nil, nil, // Not initializing the scheduler client here. s.mockResource.GetArchiverProvider(), s.mockResource.GetPayloadSerializer(), diff --git a/service/matching/fx.go b/service/matching/fx.go index af16f4fb36..a99bd40cd2 100644 --- a/service/matching/fx.go +++ b/service/matching/fx.go @@ -21,7 +21,6 @@ import ( "go.temporal.io/server/service" "go.temporal.io/server/service/matching/configs" "go.temporal.io/server/service/matching/workers" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/workerdeployment" "go.uber.org/fx" "google.golang.org/grpc" @@ -30,7 +29,6 @@ import ( var Module = fx.Options( resource.Module, - deployment.Module, workerdeployment.Module, fx.Provide(ConfigProvider), fx.Provide(PersistenceRateLimitingParamsProvider), diff --git a/service/matching/handler.go b/service/matching/handler.go index 632ffac115..39da2f457c 100644 --- a/service/matching/handler.go +++ b/service/matching/handler.go @@ -23,7 +23,6 @@ import ( "go.temporal.io/server/common/testing/testhooks" "go.temporal.io/server/common/tqid" "go.temporal.io/server/service/matching/workers" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/workerdeployment" "go.uber.org/fx" "google.golang.org/protobuf/proto" @@ -55,7 +54,6 @@ type ( FairTaskManager persistence.FairTaskManager HistoryClient resource.HistoryClient MatchingRawClient resource.MatchingRawClient - DeploymentStoreClient deployment.DeploymentStoreClient WorkerDeploymentClient workerdeployment.Client HostInfoProvider membership.HostInfoProvider MatchingServiceResolver membership.ServiceResolver @@ -95,7 +93,6 @@ func NewHandler( params.FairTaskManager, params.HistoryClient, params.MatchingRawClient, // Use non retry client inside matching - params.DeploymentStoreClient, params.WorkerDeploymentClient, params.Config, params.Logger, diff --git a/service/matching/matching_engine.go b/service/matching/matching_engine.go index 1c19234670..007c61208d 100644 --- a/service/matching/matching_engine.go +++ b/service/matching/matching_engine.go @@ -59,7 +59,6 @@ import ( "go.temporal.io/server/common/util" "go.temporal.io/server/common/worker_versioning" "go.temporal.io/server/service/history/api" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/workerdeployment" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -115,7 +114,6 @@ type ( fairTaskManager persistence.FairTaskManager historyClient resource.HistoryClient matchingRawClient resource.MatchingRawClient - deploymentStoreClient deployment.DeploymentStoreClient workerDeploymentClient workerdeployment.Client tokenSerializer *tasktoken.Serializer historySerializer serialization.Serializer @@ -198,7 +196,6 @@ func NewEngine( fairTaskManager persistence.FairTaskManager, historyClient resource.HistoryClient, matchingRawClient resource.MatchingRawClient, - deploymentStoreClient deployment.DeploymentStoreClient, // [wv-cleanup-pre-release] workerDeploymentClient workerdeployment.Client, config *Config, logger log.Logger, @@ -223,7 +220,6 @@ func NewEngine( fairTaskManager: fairTaskManager, historyClient: historyClient, matchingRawClient: matchingRawClient, - deploymentStoreClient: deploymentStoreClient, tokenSerializer: tasktoken.NewSerializer(), workerDeploymentClient: workerDeploymentClient, historySerializer: serialization.NewSerializer(), @@ -1902,7 +1898,7 @@ func (e *matchingEngineImpl) SyncDeploymentUserData( if err != nil { return nil, err } - if req.Deployment == nil && req.GetOperation() == nil && req.GetDeploymentName() == "" { + if req.GetOperation() == nil && req.GetDeploymentName() == "" { return nil, errMissingDeploymentVersion } @@ -1930,10 +1926,6 @@ func (e *matchingEngineImpl) SyncDeploymentUserData( data.PerType = make(map[int32]*persistencespb.TaskQueueTypeUserData) } - if req.TaskQueueType != enumspb.TASK_QUEUE_TYPE_UNSPECIFIED { - req.TaskQueueTypes = append(req.TaskQueueTypes, req.TaskQueueType) - } - changed := false for _, t := range req.TaskQueueTypes { if data.PerType[int32(t)] == nil { @@ -1946,20 +1938,8 @@ func (e *matchingEngineImpl) SyncDeploymentUserData( // set/append the new data deploymentData := data.PerType[int32(t)].DeploymentData - if d := req.Deployment; d != nil { - // [cleanup-old-wv] - //nolint:staticcheck - if idx := worker_versioning.FindDeployment(deploymentData, req.Deployment); idx >= 0 { - deploymentData.Deployments[idx].Data = req.Data - } else { - deploymentData.Deployments = append( - deploymentData.Deployments, &persistencespb.DeploymentData_DeploymentDataItem{ - Deployment: req.Deployment, - Data: req.Data, - }) - } - changed = true - } else if vd := req.GetUpdateVersionData(); vd != nil { + //nolint:staticcheck // SA1019 + if vd := req.GetUpdateVersionData(); vd != nil { // [cleanup-public-preview-versioning] if vd.GetVersion() == nil { // unversioned ramp if deploymentData.GetUnversionedRampData().GetRoutingUpdateTime().AsTime().After(vd.GetRoutingUpdateTime().AsTime()) { diff --git a/service/worker/deployment/deployment_activities.go b/service/worker/deployment/deployment_activities.go deleted file mode 100644 index fa50538920..0000000000 --- a/service/worker/deployment/deployment_activities.go +++ /dev/null @@ -1,94 +0,0 @@ -package deployment - -import ( - "cmp" - "context" - "sync" - - "go.temporal.io/sdk/activity" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "go.temporal.io/server/api/matchingservice/v1" - "go.temporal.io/server/common/namespace" - "go.temporal.io/server/common/resource" -) - -type ( - DeploymentActivities struct { - namespace *namespace.Namespace - deploymentClient DeploymentStoreClient - matchingClient resource.MatchingClient - } -) - -func (a *DeploymentActivities) StartDeploymentSeriesWorkflow(ctx context.Context, input *deploymentspb.StartDeploymentSeriesRequest) error { - logger := activity.GetLogger(ctx) - logger.Info("starting deployment series workflow", "seriesName", input.SeriesName) - identity := "deployment workflow " + activity.GetInfo(ctx).WorkflowExecution.ID - return a.deploymentClient.StartDeploymentSeries(ctx, a.namespace, input.SeriesName, identity, input.RequestId) -} - -func (a *DeploymentActivities) SyncUserData(ctx context.Context, input *deploymentspb.SyncUserDataRequest) (*deploymentspb.SyncUserDataResponse, error) { - logger := activity.GetLogger(ctx) - - errs := make(chan error) - - var lock sync.Mutex - maxVersionByName := make(map[string]int64) - - for _, sync := range input.Sync { - go func() { - logger.Info("syncing task queue userdata for deployment", "taskQueue", sync.Name, "type", sync.Type) - res, err := a.matchingClient.SyncDeploymentUserData(ctx, &matchingservice.SyncDeploymentUserDataRequest{ - NamespaceId: a.namespace.ID().String(), - TaskQueue: sync.Name, - TaskQueueType: sync.Type, - Deployment: input.Deployment, - Data: sync.Data, - }) - if err != nil { - logger.Error("syncing task queue userdata", "taskQueue", sync.Name, "type", sync.Type, "error", err) - } else { - lock.Lock() - maxVersionByName[sync.Name] = max(maxVersionByName[sync.Name], res.Version) - lock.Unlock() - } - errs <- err - }() - } - - var err error - for range input.Sync { - err = cmp.Or(err, <-errs) - } - if err != nil { - return nil, err - } - return &deploymentspb.SyncUserDataResponse{TaskQueueMaxVersions: maxVersionByName}, nil -} - -func (a *DeploymentActivities) CheckUserDataPropagation(ctx context.Context, input *deploymentspb.CheckUserDataPropagationRequest) error { - logger := activity.GetLogger(ctx) - - errs := make(chan error) - - for name, version := range input.TaskQueueMaxVersions { - go func() { - logger.Info("waiting for userdata propagation", "taskQueue", name, "version", version) - _, err := a.matchingClient.CheckTaskQueueUserDataPropagation(ctx, &matchingservice.CheckTaskQueueUserDataPropagationRequest{ - NamespaceId: a.namespace.ID().String(), - TaskQueue: name, - Version: version, - }) - if err != nil { - logger.Error("waiting for userdata", "taskQueue", name, "type", version, "error", err) - } - errs <- err - }() - } - - var err error - for range input.TaskQueueMaxVersions { - err = cmp.Or(err, <-errs) - } - return err -} diff --git a/service/worker/deployment/deployment_client.go b/service/worker/deployment/deployment_client.go deleted file mode 100644 index 2cb94b2d85..0000000000 --- a/service/worker/deployment/deployment_client.go +++ /dev/null @@ -1,790 +0,0 @@ -package deployment - -import ( - "context" - "errors" - "time" - - commonpb "go.temporal.io/api/common/v1" - deploymentpb "go.temporal.io/api/deployment/v1" - enumspb "go.temporal.io/api/enums/v1" - querypb "go.temporal.io/api/query/v1" - "go.temporal.io/api/serviceerror" - taskqueuepb "go.temporal.io/api/taskqueue/v1" - updatepb "go.temporal.io/api/update/v1" - "go.temporal.io/api/workflowservice/v1" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "go.temporal.io/server/api/historyservice/v1" - "go.temporal.io/server/common/backoff" - "go.temporal.io/server/common/dynamicconfig" - "go.temporal.io/server/common/log" - "go.temporal.io/server/common/log/tag" - "go.temporal.io/server/common/namespace" - "go.temporal.io/server/common/payload" - "go.temporal.io/server/common/persistence/visibility/manager" - "go.temporal.io/server/common/primitives" - "go.temporal.io/server/common/sdk" - "go.temporal.io/server/common/searchattribute" - "go.temporal.io/server/common/searchattribute/sadefs" - "google.golang.org/protobuf/types/known/timestamppb" -) - -type DeploymentStoreClient interface { - RegisterTaskQueueWorker( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - taskQueueName string, - taskQueueType enumspb.TaskQueueType, - firstPoll time.Time, - identity string, - requestID string, - ) error - - DescribeDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - buildID string, - ) (*deploymentpb.DeploymentInfo, error) - - GetCurrentDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - ) (*deploymentpb.DeploymentInfo, error) - - ListDeployments( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - pageSize int, - nextPageToken []byte, - ) ([]*deploymentpb.DeploymentListInfo, []byte, error) - - GetDeploymentReachability( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - buildID string, - ) (*workflowservice.GetDeploymentReachabilityResponse, error) - - SetCurrentDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - updateMetadata *deploymentpb.UpdateDeploymentMetadata, - identity string, - requestID string, - ) (*deploymentpb.DeploymentInfo, *deploymentpb.DeploymentInfo, error) - - // Only used internally by deployment workflow: - StartDeploymentSeries( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - identity string, - requestID string, - ) error - - // Only used internally by deployment series workflow: - SyncDeploymentWorkflowFromSeries( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - args *deploymentspb.SyncDeploymentStateArgs, - identity string, - requestID string, - ) (*deploymentspb.SyncDeploymentStateResponse, error) -} - -type ErrMaxTaskQueuesInDeployment struct{ error } - -type ErrRegister struct{ error } - -// implements DeploymentStoreClient -type DeploymentClientImpl struct { - logger log.Logger - historyClient historyservice.HistoryServiceClient - visibilityManager manager.VisibilityManager - maxIDLengthLimit dynamicconfig.IntPropertyFn - visibilityMaxPageSize dynamicconfig.IntPropertyFnWithNamespaceFilter - maxTaskQueuesInDeployment dynamicconfig.IntPropertyFnWithNamespaceFilter - reachabilityCache reachabilityCache -} - -var _ DeploymentStoreClient = (*DeploymentClientImpl)(nil) - -var errRetry = errors.New("retry update") - -func (d *DeploymentClientImpl) RegisterTaskQueueWorker( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - taskQueueName string, - taskQueueType enumspb.TaskQueueType, - firstPoll time.Time, - identity string, - requestID string, -) (retErr error) { - //revive:disable-next-line:defer - defer d.record("RegisterTaskQueueWorker", &retErr, taskQueueName, taskQueueType, identity)() - - updatePayload, err := sdk.PreferProtoDataConverter.ToPayloads(&deploymentspb.RegisterWorkerInDeploymentArgs{ - TaskQueueName: taskQueueName, - TaskQueueType: taskQueueType, - FirstPollerTime: timestamppb.New(firstPoll), - MaxTaskQueues: int32(d.maxTaskQueuesInDeployment(namespaceEntry.Name().String())), - }) - if err != nil { - return err - } - - outcome, err := d.updateWithStartDeployment(ctx, namespaceEntry, deployment, &updatepb.Request{ - Input: &updatepb.Input{Name: RegisterWorkerInDeployment, Args: updatePayload}, - Meta: &updatepb.Meta{UpdateId: requestID, Identity: identity}, - }, identity, requestID) - if err != nil { - return err - } - - if failure := outcome.GetFailure(); failure.GetApplicationFailureInfo().GetType() == errMaxTaskQueuesInDeploymentType { - // translate to client-side error type - return ErrMaxTaskQueuesInDeployment{error: errors.New(failure.Message)} - } else if failure.GetApplicationFailureInfo().GetType() == errNoChangeType { - return nil - } else if failure != nil { - return ErrRegister{error: errors.New(failure.Message)} - } - - return nil -} - -func (d *DeploymentClientImpl) DescribeDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - buildID string, -) (_ *deploymentpb.DeploymentInfo, retErr error) { - //revive:disable-next-line:defer - defer d.record("DescribeDeployment", &retErr, seriesName, buildID)() - - // validating params - err := ValidateDeploymentWfParams(SeriesFieldName, seriesName, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - err = ValidateDeploymentWfParams(BuildIDFieldName, buildID, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - - deploymentWorkflowID := GenerateDeploymentWorkflowID(seriesName, buildID) - - req := &historyservice.QueryWorkflowRequest{ - NamespaceId: namespaceEntry.ID().String(), - Request: &workflowservice.QueryWorkflowRequest{ - Namespace: namespaceEntry.Name().String(), - Execution: &commonpb.WorkflowExecution{ - WorkflowId: deploymentWorkflowID, - }, - Query: &querypb.WorkflowQuery{QueryType: QueryDescribeDeployment}, - }, - } - - res, err := d.historyClient.QueryWorkflow(ctx, req) - if err != nil { - var notFound *serviceerror.NotFound - if errors.As(err, ¬Found) { - return nil, serviceerror.NewNotFound("Deployment not found") - } - return nil, err - } - - var queryResponse deploymentspb.QueryDescribeDeploymentResponse - err = sdk.PreferProtoDataConverter.FromPayloads(res.GetResponse().GetQueryResult(), &queryResponse) - if err != nil { - return nil, err - } - - return stateToInfo(queryResponse.DeploymentLocalState), nil -} - -// TODO (carly): pass deployment instead of seriesName + buildId in all these APIs -- separate PR -func (d *DeploymentClientImpl) GetDeploymentReachability( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - buildID string, -) (_ *workflowservice.GetDeploymentReachabilityResponse, retErr error) { - //revive:disable-next-line:defer - defer d.record("GetDeploymentReachability", &retErr, seriesName, buildID)() - - deployInfo, err := d.DescribeDeployment(ctx, namespaceEntry, seriesName, buildID) - if err != nil { - return nil, err - } - reachability, lastUpdateTime, err := getDeploymentReachability( - ctx, - namespaceEntry.ID().String(), - namespaceEntry.Name().String(), - seriesName, - buildID, - deployInfo.GetIsCurrent(), - d.reachabilityCache, - ) - - if err != nil { - return nil, err - } - - return &workflowservice.GetDeploymentReachabilityResponse{ - DeploymentInfo: deployInfo, - Reachability: reachability, - LastUpdateTime: timestamppb.New(lastUpdateTime), - }, nil -} - -func (d *DeploymentClientImpl) GetCurrentDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, -) (_ *deploymentpb.DeploymentInfo, retErr error) { - //revive:disable-next-line:defer - defer d.record("GetCurrentDeployment", &retErr, seriesName)() - - // Validating params - err := ValidateDeploymentWfParams(SeriesFieldName, seriesName, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - - workflowID := GenerateDeploymentSeriesWorkflowID(seriesName) - resp, err := d.historyClient.DescribeWorkflowExecution(ctx, &historyservice.DescribeWorkflowExecutionRequest{ - NamespaceId: namespaceEntry.ID().String(), - Request: &workflowservice.DescribeWorkflowExecutionRequest{ - Namespace: namespaceEntry.Name().String(), - Execution: &commonpb.WorkflowExecution{ - WorkflowId: workflowID, - }, - }, - }) - - if err != nil { - return nil, err - } - if resp == nil { - return nil, err - } - - // Decode value from memo - val := resp.WorkflowExecutionInfo.GetMemo().GetFields()[DeploymentSeriesMemoField] - if val == nil { - // memo missing, series has no set current deployment - return nil, nil - } - var memo deploymentspb.DeploymentSeriesWorkflowMemo - err = sdk.PreferProtoDataConverter.FromPayload(val, &memo) - if err != nil { - return nil, err - } - - // Series has no set current deployment - if memo.CurrentBuildId == "" { - return nil, nil - } - - deploymentInfo, err := d.DescribeDeployment(ctx, namespaceEntry, seriesName, memo.CurrentBuildId) - if err != nil { - return nil, nil - } - - return deploymentInfo, nil -} - -func (d *DeploymentClientImpl) ListDeployments( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - pageSize int, - nextPageToken []byte, -) (_ []*deploymentpb.DeploymentListInfo, _ []byte, retErr error) { - //revive:disable-next-line:defer - defer d.record("ListDeployments", &retErr, seriesName)() - - query := "" - if seriesName != "" { - query = BuildQueryWithSeriesFilter(seriesName) - } else { - query = DeploymentVisibilityBaseListQuery - } - - if pageSize == 0 { - pageSize = d.visibilityMaxPageSize(namespaceEntry.Name().String()) - } - - persistenceResp, err := d.visibilityManager.ListWorkflowExecutions( - ctx, - &manager.ListWorkflowExecutionsRequestV2{ - NamespaceID: namespaceEntry.ID(), - Namespace: namespaceEntry.Name(), - PageSize: pageSize, - NextPageToken: nextPageToken, - Query: query, - }, - ) - if err != nil { - return nil, nil, err - } - - deployments := make([]*deploymentpb.DeploymentListInfo, len(persistenceResp.Executions)) - for i, ex := range persistenceResp.Executions { - workflowMemo := DecodeDeploymentMemo(ex.GetMemo()) - - deploymentListInfo := &deploymentpb.DeploymentListInfo{ - Deployment: workflowMemo.Deployment, - CreateTime: workflowMemo.CreateTime, - IsCurrent: workflowMemo.IsCurrentDeployment, - } - deployments[i] = deploymentListInfo - } - - return deployments, persistenceResp.NextPageToken, nil -} - -func (d *DeploymentClientImpl) SetCurrentDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - updateMetadata *deploymentpb.UpdateDeploymentMetadata, - identity string, - requestID string, -) (_ *deploymentpb.DeploymentInfo, _ *deploymentpb.DeploymentInfo, retErr error) { - //revive:disable-next-line:defer - defer d.record("SetCurrentDeployment", &retErr, namespaceEntry.Name(), deployment, identity)() - - updatePayload, err := sdk.PreferProtoDataConverter.ToPayloads(&deploymentspb.SetCurrentDeploymentArgs{ - Identity: identity, - BuildId: deployment.BuildId, - UpdateMetadata: updateMetadata, - RequestId: requestID, - }) - if err != nil { - return nil, nil, err - } - outcome, err := d.updateWithStartDeploymentSeries( - ctx, - namespaceEntry, - deployment.SeriesName, - &updatepb.Request{ - Input: &updatepb.Input{Name: SetCurrentDeployment, Args: updatePayload}, - Meta: &updatepb.Meta{UpdateId: requestID, Identity: identity}, - }, - identity, - requestID, - ) - if err != nil { - return nil, nil, err - } - - if failure := outcome.GetFailure(); failure.GetApplicationFailureInfo().GetType() == errNoChangeType { - return nil, nil, serviceerror.NewAlreadyExistsf("Build ID %q is already current for %q", - deployment.BuildId, deployment.SeriesName) - } else if failure != nil { - // TODO: is there an easy way to recover the original type here? - return nil, nil, serviceerror.NewInternal(failure.Message) - } - - success := outcome.GetSuccess() - if success == nil { - return nil, nil, serviceerror.NewInternal("outcome missing success and failure") - } - - var res deploymentspb.SetCurrentDeploymentResponse - if err := sdk.PreferProtoDataConverter.FromPayloads(success, &res); err != nil { - return nil, nil, err - } - return stateToInfo(res.CurrentDeploymentState), stateToInfo(res.PreviousDeploymentState), nil -} - -func (d *DeploymentClientImpl) StartDeploymentSeries( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - identity string, - requestID string, -) (retErr error) { - //revive:disable-next-line:defer - defer d.record("StartDeploymentSeries", &retErr, namespaceEntry.Name(), seriesName, identity)() - - workflowID := GenerateDeploymentSeriesWorkflowID(seriesName) - - input, err := sdk.PreferProtoDataConverter.ToPayloads(&deploymentspb.DeploymentSeriesWorkflowArgs{ - NamespaceName: namespaceEntry.Name().String(), - NamespaceId: namespaceEntry.ID().String(), - SeriesName: seriesName, - }) - if err != nil { - return err - } - - memo, err := d.buildInitialDeploymentSeriesMemo(seriesName) - if err != nil { - return err - } - - startReq := &workflowservice.StartWorkflowExecutionRequest{ - RequestId: requestID, - Namespace: namespaceEntry.Name().String(), - WorkflowId: workflowID, - WorkflowType: &commonpb.WorkflowType{Name: DeploymentSeriesWorkflowType}, - TaskQueue: &taskqueuepb.TaskQueue{Name: primitives.PerNSWorkerTaskQueue}, - Input: input, - WorkflowIdReusePolicy: enumspb.WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE, - WorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING, - SearchAttributes: d.buildSearchAttributes(), - Memo: memo, - } - - historyStartReq := &historyservice.StartWorkflowExecutionRequest{ - NamespaceId: namespaceEntry.ID().String(), - StartRequest: startReq, - } - - _, err = d.historyClient.StartWorkflowExecution(ctx, historyStartReq) - return err -} - -func (d *DeploymentClientImpl) SyncDeploymentWorkflowFromSeries( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - args *deploymentspb.SyncDeploymentStateArgs, - identity string, - requestID string, -) (_ *deploymentspb.SyncDeploymentStateResponse, retErr error) { - //revive:disable-next-line:defer - defer d.record("SyncDeploymentWorkflowFromSeries", &retErr, namespaceEntry.Name(), deployment, args, identity)() - - updatePayload, err := sdk.PreferProtoDataConverter.ToPayloads(args) - if err != nil { - return nil, err - } - outcome, err := d.updateWithStartDeployment( - ctx, - namespaceEntry, - deployment, - &updatepb.Request{ - Input: &updatepb.Input{Name: SyncDeploymentState, Args: updatePayload}, - Meta: &updatepb.Meta{UpdateId: requestID, Identity: identity}, - }, - identity, - requestID, - ) - if err != nil { - return nil, err - } - - if failure := outcome.GetFailure(); failure.GetApplicationFailureInfo().GetType() == errNoChangeType { - // pretend this is a success - outcome = &updatepb.Outcome{ - Value: &updatepb.Outcome_Success{ - Success: failure.GetApplicationFailureInfo().GetDetails(), - }, - } - } else if failure != nil { - // TODO: is there an easy way to recover the original type here? - return nil, serviceerror.NewInternal(failure.Message) - } - - success := outcome.GetSuccess() - if success == nil { - return nil, serviceerror.NewInternal("outcome missing success and failure") - } - - var res deploymentspb.SyncDeploymentStateResponse - if err := sdk.PreferProtoDataConverter.FromPayloads(success, &res); err != nil { - return nil, err - } - return &res, nil -} - -func (d *DeploymentClientImpl) updateWithStartDeployment( - ctx context.Context, - namespaceEntry *namespace.Namespace, - deployment *deploymentpb.Deployment, - updateRequest *updatepb.Request, - identity string, - requestID string, -) (*updatepb.Outcome, error) { - // validate params which are used for building workflowIDs - err := ValidateDeploymentWfParams(SeriesFieldName, deployment.SeriesName, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - err = ValidateDeploymentWfParams(BuildIDFieldName, deployment.BuildId, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - - workflowID := GenerateDeploymentWorkflowID(deployment.SeriesName, deployment.BuildId) - - input, err := sdk.PreferProtoDataConverter.ToPayloads(&deploymentspb.DeploymentWorkflowArgs{ - NamespaceName: namespaceEntry.Name().String(), - NamespaceId: namespaceEntry.ID().String(), - State: &deploymentspb.DeploymentLocalState{ - Deployment: deployment, - CreateTime: timestamppb.Now(), - }, - }) - if err != nil { - return nil, err - } - - memo, err := d.buildInitialDeploymentMemo(deployment) - if err != nil { - return nil, err - } - - return d.updateWithStart( - ctx, - namespaceEntry, - DeploymentWorkflowType, - workflowID, - memo, - input, - updateRequest, - identity, - requestID, - ) -} - -func (d *DeploymentClientImpl) updateWithStartDeploymentSeries( - ctx context.Context, - namespaceEntry *namespace.Namespace, - seriesName string, - updateRequest *updatepb.Request, - identity string, - requestID string, -) (*updatepb.Outcome, error) { - // validate params which are used for building workflowIDs - err := ValidateDeploymentWfParams(SeriesFieldName, seriesName, d.maxIDLengthLimit()) - if err != nil { - return nil, err - } - - workflowID := GenerateDeploymentSeriesWorkflowID(seriesName) - input, err := sdk.PreferProtoDataConverter.ToPayloads(&deploymentspb.DeploymentSeriesWorkflowArgs{ - NamespaceName: namespaceEntry.Name().String(), - NamespaceId: namespaceEntry.ID().String(), - SeriesName: seriesName, - }) - if err != nil { - return nil, err - } - - memo, err := d.buildInitialDeploymentSeriesMemo(seriesName) - if err != nil { - return nil, err - } - - return d.updateWithStart( - ctx, - namespaceEntry, - DeploymentSeriesWorkflowType, - workflowID, - memo, - input, - updateRequest, - identity, - requestID, - ) -} - -func (d *DeploymentClientImpl) updateWithStart( - ctx context.Context, - namespaceEntry *namespace.Namespace, - workflowType string, - workflowID string, - memo *commonpb.Memo, - input *commonpb.Payloads, - updateRequest *updatepb.Request, - identity string, - requestID string, -) (*updatepb.Outcome, error) { - // Start workflow execution, if it hasn't already - startReq := &workflowservice.StartWorkflowExecutionRequest{ - RequestId: requestID, - Namespace: namespaceEntry.Name().String(), - WorkflowId: workflowID, - WorkflowType: &commonpb.WorkflowType{Name: workflowType}, - TaskQueue: &taskqueuepb.TaskQueue{Name: primitives.PerNSWorkerTaskQueue}, - Input: input, - WorkflowIdReusePolicy: enumspb.WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE, - WorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING, - SearchAttributes: d.buildSearchAttributes(), - Memo: memo, - } - - updateReq := &workflowservice.UpdateWorkflowExecutionRequest{ - Namespace: namespaceEntry.Name().String(), - WorkflowExecution: &commonpb.WorkflowExecution{ - WorkflowId: workflowID, - }, - Request: updateRequest, - WaitPolicy: &updatepb.WaitPolicy{LifecycleStage: enumspb.UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED}, - } - - // This is an atomic operation; if one operation fails, both will. - multiOpReq := &historyservice.ExecuteMultiOperationRequest{ - NamespaceId: namespaceEntry.ID().String(), - WorkflowId: workflowID, - Operations: []*historyservice.ExecuteMultiOperationRequest_Operation{ - { - Operation: &historyservice.ExecuteMultiOperationRequest_Operation_StartWorkflow{ - StartWorkflow: &historyservice.StartWorkflowExecutionRequest{ - NamespaceId: namespaceEntry.ID().String(), - StartRequest: startReq, - }, - }, - }, - { - Operation: &historyservice.ExecuteMultiOperationRequest_Operation_UpdateWorkflow{ - UpdateWorkflow: &historyservice.UpdateWorkflowExecutionRequest{ - NamespaceId: namespaceEntry.ID().String(), - Request: updateReq, - }, - }, - }, - }, - } - - policy := backoff.NewExponentialRetryPolicy(100 * time.Millisecond) - isRetryable := func(err error) bool { - return errors.Is(err, errRetry) - } - var outcome *updatepb.Outcome - - err := backoff.ThrottleRetryContext(ctx, func(ctx context.Context) error { - // historyClient retries internally on retryable rpc errors, we just have to retry on - // successful but un-completed responses. - res, err := d.historyClient.ExecuteMultiOperation(ctx, multiOpReq) - if err != nil { - return err - } - - // we should get exactly one of each of these - var startRes *historyservice.StartWorkflowExecutionResponse - var updateRes *workflowservice.UpdateWorkflowExecutionResponse - for _, response := range res.Responses { - if sr := response.GetStartWorkflow(); sr != nil { - startRes = sr - } else if ur := response.GetUpdateWorkflow().GetResponse(); ur != nil { - updateRes = ur - } - } - if startRes == nil { - return serviceerror.NewInternal("failed to start deployment workflow") - } else if updateRes == nil { - return serviceerror.NewInternal("failed to update deployment workflow") - } - - if updateRes.Stage != enumspb.UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED { - // update not completed, try again - return errRetry - } - - outcome = updateRes.GetOutcome() - return nil - }, policy, isRetryable) - - return outcome, err -} - -func (d *DeploymentClientImpl) buildInitialDeploymentMemo(deployment *deploymentpb.Deployment) (*commonpb.Memo, error) { - pl, err := sdk.PreferProtoDataConverter.ToPayload(&deploymentspb.DeploymentWorkflowMemo{ - Deployment: deployment, - CreateTime: timestamppb.Now(), - IsCurrentDeployment: false, - }) - if err != nil { - return nil, err - } - - return &commonpb.Memo{ - Fields: map[string]*commonpb.Payload{ - DeploymentMemoField: pl, - }, - }, nil -} - -func (d *DeploymentClientImpl) buildInitialDeploymentSeriesMemo(seriesName string) (*commonpb.Memo, error) { - pl, err := sdk.PreferProtoDataConverter.ToPayload(&deploymentspb.DeploymentSeriesWorkflowMemo{ - SeriesName: seriesName, - }) - if err != nil { - return nil, err - } - - return &commonpb.Memo{ - Fields: map[string]*commonpb.Payload{ - DeploymentSeriesMemoField: pl, - }, - }, nil -} - -func (d *DeploymentClientImpl) buildSearchAttributes() *commonpb.SearchAttributes { - sa := &commonpb.SearchAttributes{} - searchattribute.AddSearchAttribute(&sa, sadefs.TemporalNamespaceDivision, payload.EncodeString(DeploymentNamespaceDivision)) - return sa -} - -func (d *DeploymentClientImpl) record(operation string, retErr *error, args ...any) func() { - start := time.Now() - return func() { - elapsed := time.Since(start) - - // TODO: add metrics recording here - - if *retErr != nil { - d.logger.Error("deployment client error", - tag.Error(*retErr), - tag.Operation(operation), - tag.NewDurationTag("elapsed", elapsed), - tag.NewAnyTag("args", args), - ) - } else { - d.logger.Debug("deployment client success", - tag.Operation(operation), - tag.NewDurationTag("elapsed", elapsed), - tag.NewAnyTag("args", args), - ) - } - } -} - -func stateToInfo(state *deploymentspb.DeploymentLocalState) *deploymentpb.DeploymentInfo { - if state == nil { - return nil - } - - taskQueues := make([]*deploymentpb.DeploymentInfo_TaskQueueInfo, 0, len(state.TaskQueueFamilies)*2) - for taskQueueName, taskQueueFamilyInfo := range state.TaskQueueFamilies { - for taskQueueType, taskQueueInfo := range taskQueueFamilyInfo.TaskQueues { - element := &deploymentpb.DeploymentInfo_TaskQueueInfo{ - Name: taskQueueName, - Type: enumspb.TaskQueueType(taskQueueType), - FirstPollerTime: taskQueueInfo.FirstPollerTime, - } - taskQueues = append(taskQueues, element) - } - } - - return &deploymentpb.DeploymentInfo{ - Deployment: state.Deployment, - CreateTime: state.CreateTime, - TaskQueueInfos: taskQueues, - Metadata: state.Metadata, - IsCurrent: state.IsCurrent, - } -} diff --git a/service/worker/deployment/deployment_reachability.go b/service/worker/deployment/deployment_reachability.go deleted file mode 100644 index 3983f9d254..0000000000 --- a/service/worker/deployment/deployment_reachability.go +++ /dev/null @@ -1,161 +0,0 @@ -package deployment - -import ( - "context" - "fmt" - "time" - - deploymentpb "go.temporal.io/api/deployment/v1" - enumspb "go.temporal.io/api/enums/v1" - "go.temporal.io/server/common/cache" - "go.temporal.io/server/common/metrics" - "go.temporal.io/server/common/namespace" - "go.temporal.io/server/common/persistence/visibility/manager" - "go.temporal.io/server/common/searchattribute/sadefs" - "go.temporal.io/server/common/worker_versioning" -) - -const ( - reachabilityCacheOpenWFsTTL = time.Minute - reachabilityCacheClosedWFsTTL = 10 * time.Minute - reachabilityCacheMaxSize = 10000 -) - -// We update the reachability search attribute on workflow task completion and when there is -// an UpdateWorkflowExecutionOptions request that changes the workflow's effective behavior -// or deployment. We do not update the reachability search attribute if the search attribute -// has not changed. We also do not update the reachability search attribute if a workflow has -// started transitioning to a new deployment, because only on task completion do we know whether -// the transition has succeeded or failed. -func getDeploymentReachability( - ctx context.Context, - nsId, nsName, seriesName, buildId string, - isCurrent bool, - rc reachabilityCache, -) (enumspb.DeploymentReachability, time.Time, error) { - // 1a. Reachable by new unpinned workflows - if isCurrent { - // TODO (carly) part 2: still return reachable if the deployment just became not current, but workflows started on it are not yet in reachability - return enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, time.Now(), nil - } - - // 2a. Reachable by open pinned workflows - countRequest := makeCountRequest(nsId, nsName, seriesName, buildId, true) - exists, lastUpdateTime, err := rc.Get(ctx, countRequest, true) - if err != nil { - return enumspb.DEPLOYMENT_REACHABILITY_UNSPECIFIED, time.Time{}, err - } - if exists { - return enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, lastUpdateTime, nil - } - - // 3. Reachable by closed pinned workflows - countRequest = makeCountRequest(nsId, nsName, seriesName, buildId, false) - exists, lastUpdateTime, err = rc.Get(ctx, countRequest, false) - if err != nil { - return enumspb.DEPLOYMENT_REACHABILITY_UNSPECIFIED, time.Time{}, err - } - if exists { - return enumspb.DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY, lastUpdateTime, nil - } - - // 4. Unreachable - return enumspb.DEPLOYMENT_REACHABILITY_UNREACHABLE, time.Now(), nil -} - -func makeCountRequest( - namespaceId, namespaceName, seriesName, buildId string, open bool, -) manager.CountWorkflowExecutionsRequest { - return manager.CountWorkflowExecutionsRequest{ - NamespaceID: namespace.ID(namespaceId), - Namespace: namespace.Name(namespaceName), - Query: makeDeploymentQuery(seriesName, buildId, open), - } -} - -func makeDeploymentQuery(seriesName, buildID string, open bool) string { - var statusFilter string - deploymentFilter := fmt.Sprintf("= '%s'", worker_versioning.PinnedBuildIdSearchAttribute( - worker_versioning.ExternalWorkerDeploymentVersionToString(&deploymentpb.WorkerDeploymentVersion{ - DeploymentName: seriesName, - BuildId: buildID, - }))) - if open { - statusFilter = "= 'Running'" - } else { - statusFilter = "!= 'Running'" - } - // todo (carly) part 2: handle null search attribute / unversioned deployment - return fmt.Sprintf("%s %s AND %s %s", sadefs.BuildIds, deploymentFilter, sadefs.ExecutionStatus, statusFilter) -} - -/* -In-memory Reachability Cache of Visibility Queries and Results -*/ - -type reachabilityCache struct { - openWFCache cache.Cache - closedWFCache cache.Cache // these are separate due to allow for different TTL - metricsHandler metrics.Handler - visibilityMgr manager.VisibilityManager -} - -type reachabilityCacheValue struct { - exists bool - lastUpdateTime time.Time -} - -func newReachabilityCache( - handler metrics.Handler, - visibilityMgr manager.VisibilityManager, - reachabilityCacheOpenWFExecutionTTL, - reachabilityCacheClosedWFExecutionTTL time.Duration, -) reachabilityCache { - return reachabilityCache{ - openWFCache: cache.New(reachabilityCacheMaxSize, &cache.Options{TTL: reachabilityCacheOpenWFExecutionTTL}), - closedWFCache: cache.New(reachabilityCacheMaxSize, &cache.Options{TTL: reachabilityCacheClosedWFExecutionTTL}), - metricsHandler: handler, - visibilityMgr: visibilityMgr, - } -} - -// Get retrieves the Workflow Count existence value and update time based on the query-string key. -func (c *reachabilityCache) Get( - ctx context.Context, - countRequest manager.CountWorkflowExecutionsRequest, - open bool, -) (exists bool, lastUpdateTime time.Time, err error) { - // try cache - var result interface{} - if open { - result = c.openWFCache.Get(countRequest) - } else { - result = c.closedWFCache.Get(countRequest) - } - if result != nil { - // there's no reason that the cache would ever contain a non-reachabilityCacheValue, but just in case, treat non-bool as a miss - val, ok := result.(reachabilityCacheValue) - if ok { - return val.exists, val.lastUpdateTime, nil - } - } - - // cache was cold, ask visibility and put result in cache - countResponse, err := c.visibilityMgr.CountWorkflowExecutions(ctx, &countRequest) - if err != nil { - return false, time.Time{}, err - } - exists = countResponse.Count > 0 - lastUpdateTime = time.Now() - c.Put(countRequest, reachabilityCacheValue{exists, lastUpdateTime}, open) - return exists, lastUpdateTime, nil -} - -// Put adds an element to the cache. -func (c *reachabilityCache) Put(key manager.CountWorkflowExecutionsRequest, val reachabilityCacheValue, open bool) { - if open { - c.openWFCache.Put(key, val) - } else { - c.closedWFCache.Put(key, val) - } -} diff --git a/service/worker/deployment/deployment_reachability_test.go b/service/worker/deployment/deployment_reachability_test.go deleted file mode 100644 index d7f0bf3655..0000000000 --- a/service/worker/deployment/deployment_reachability_test.go +++ /dev/null @@ -1,120 +0,0 @@ -package deployment - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/assert" - enumspb "go.temporal.io/api/enums/v1" - "go.temporal.io/server/common/metrics" - "go.temporal.io/server/common/persistence/visibility/manager" - "go.uber.org/mock/gomock" -) - -const ( - testReachabilityCacheOpenWFsTTL = time.Millisecond - testReachabilityCacheClosedWFsTTL = 3 * time.Millisecond -) - -func TestMakeDeploymentQuery(t *testing.T) { - t.Parallel() - seriesName := "test-deployment" - buildId := "A" - - query := makeDeploymentQuery(seriesName, buildId, true) - expectedQuery := "BuildIds = 'pinned:test-deployment:A' AND ExecutionStatus = 'Running'" - assert.Equal(t, expectedQuery, query) - - query = makeDeploymentQuery(seriesName, buildId, false) - expectedQuery = "BuildIds = 'pinned:test-deployment:A' AND ExecutionStatus != 'Running'" - assert.Equal(t, expectedQuery, query) -} - -func TestReachable_CurrentDeployment(t *testing.T) { - t.Parallel() - ctx := context.Background() - seriesName := "test-deployment" - buildId := "A" - vm := manager.NewMockVisibilityManager(gomock.NewController(t)) // won't receive any calls - testCache := newReachabilityCache(metrics.NoopMetricsHandler, vm, testReachabilityCacheOpenWFsTTL, testReachabilityCacheClosedWFsTTL) - - reach, _, err := getDeploymentReachability(ctx, "", "", seriesName, buildId, true, testCache) - assert.Nil(t, err) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, reach) -} - -func TestReachable_OpenWorkflow(t *testing.T) { - t.Parallel() - ctx := context.Background() - nsId := "pretend-this-is-a-uuid" - nsName := "test-namespace" - seriesName := "test-deployment" - buildId := "A" - vm := manager.NewMockVisibilityManager(gomock.NewController(t)) - openCountRequest := makeCountRequest(nsId, nsName, seriesName, buildId, true) - closedCountRequest := makeCountRequest(nsId, nsName, seriesName, buildId, false) - vm.EXPECT().CountWorkflowExecutions(gomock.Any(), &openCountRequest).MaxTimes(2).Return(mkCountResponse(1)) - vm.EXPECT().CountWorkflowExecutions(gomock.Any(), &closedCountRequest).MaxTimes(2).Return(mkCountResponse(0)) - testCache := newReachabilityCache(metrics.NoopMetricsHandler, vm, testReachabilityCacheOpenWFsTTL, testReachabilityCacheClosedWFsTTL) - - // put a value in cold cache - reach, reachValidTime, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Greater(t, time.Now(), reachValidTime) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, reach) - - // get the cached value and time - reach, reachValidTimeCached, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Equal(t, reachValidTime, reachValidTimeCached) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, reach) - - // check that the cache is cold again after TTL (as shown by newer valid time) - time.Sleep(testReachabilityCacheOpenWFsTTL) //nolint:forbidigo - reach, reachValidTimeCacheCold, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Greater(t, reachValidTimeCacheCold, reachValidTime) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_REACHABLE, reach) -} - -func TestReachable_ClosedWorkflow(t *testing.T) { - t.Parallel() - ctx := context.Background() - nsId := "pretend-this-is-a-uuid" - nsName := "test-namespace" - seriesName := "test-deployment" - buildId := "A" - vm := manager.NewMockVisibilityManager(gomock.NewController(t)) - openCountRequest := makeCountRequest(nsId, nsName, seriesName, buildId, true) - closedCountRequest := makeCountRequest(nsId, nsName, seriesName, buildId, false) - vm.EXPECT().CountWorkflowExecutions(gomock.Any(), &openCountRequest).MaxTimes(2).Return(mkCountResponse(0)) - vm.EXPECT().CountWorkflowExecutions(gomock.Any(), &closedCountRequest).MaxTimes(2).Return(mkCountResponse(1)) - testCache := newReachabilityCache(metrics.NoopMetricsHandler, vm, testReachabilityCacheOpenWFsTTL, testReachabilityCacheClosedWFsTTL) - - // put a value in cold cache - reach, reachValidTime, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Greater(t, time.Now(), reachValidTime) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY, reach) - - // get the cached value and time - reach, reachValidTimeCacheHot, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Equal(t, reachValidTime, reachValidTimeCacheHot) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY, reach) - - // check that the cache is cold again after TTL (as shown by newer valid time) - time.Sleep(testReachabilityCacheClosedWFsTTL) //nolint:forbidigo - reach, reachValidTimeCacheCold, err := getDeploymentReachability(ctx, nsId, nsName, seriesName, buildId, false, testCache) - assert.Nil(t, err) - assert.Greater(t, reachValidTimeCacheCold, reachValidTime) - assert.Equal(t, enumspb.DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY, reach) -} - -func mkCountResponse(count int64) (*manager.CountWorkflowExecutionsResponse, error) { - return &manager.CountWorkflowExecutionsResponse{ - Count: count, - Groups: nil, - }, nil -} diff --git a/service/worker/deployment/deployment_series_activities.go b/service/worker/deployment/deployment_series_activities.go deleted file mode 100644 index c54580ef72..0000000000 --- a/service/worker/deployment/deployment_series_activities.go +++ /dev/null @@ -1,34 +0,0 @@ -package deployment - -import ( - "context" - - "go.temporal.io/sdk/activity" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "go.temporal.io/server/common/namespace" -) - -type ( - DeploymentSeriesActivities struct { - namespace *namespace.Namespace - deploymentClient DeploymentStoreClient - } -) - -func (a *DeploymentSeriesActivities) SyncDeployment(ctx context.Context, args *deploymentspb.SyncDeploymentStateActivityArgs) (*deploymentspb.SyncDeploymentStateActivityResult, error) { - identity := "deployment series workflow " + activity.GetInfo(ctx).WorkflowExecution.ID - res, err := a.deploymentClient.SyncDeploymentWorkflowFromSeries( - ctx, - a.namespace, - args.Deployment, - args.Args, - identity, - args.RequestId, - ) - if err != nil { - return nil, err - } - return &deploymentspb.SyncDeploymentStateActivityResult{ - State: res.DeploymentLocalState, - }, nil -} diff --git a/service/worker/deployment/deployment_series_workflow.go b/service/worker/deployment/deployment_series_workflow.go deleted file mode 100644 index d12dd509c2..0000000000 --- a/service/worker/deployment/deployment_series_workflow.go +++ /dev/null @@ -1,168 +0,0 @@ -package deployment - -import ( - "github.com/google/uuid" - deploymentpb "go.temporal.io/api/deployment/v1" - "go.temporal.io/api/serviceerror" - sdkclient "go.temporal.io/sdk/client" - sdklog "go.temporal.io/sdk/log" - "go.temporal.io/sdk/temporal" - "go.temporal.io/sdk/workflow" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "google.golang.org/protobuf/types/known/timestamppb" -) - -type ( - // DeploymentWorkflowRunner holds the local state while running a deployment-series workflow - DeploymentSeriesWorkflowRunner struct { - *deploymentspb.DeploymentSeriesWorkflowArgs - a *DeploymentSeriesActivities - logger sdklog.Logger - metrics sdkclient.MetricsHandler - lock workflow.Mutex - pendingUpdates int - } -) - -func DeploymentSeriesWorkflow(ctx workflow.Context, args *deploymentspb.DeploymentSeriesWorkflowArgs) error { - deploymentWorkflowNameRunner := &DeploymentSeriesWorkflowRunner{ - DeploymentSeriesWorkflowArgs: args, - - a: nil, - logger: sdklog.With(workflow.GetLogger(ctx), "wf-namespace", args.NamespaceName), - metrics: workflow.GetMetricsHandler(ctx).WithTags(map[string]string{"namespace": args.NamespaceName}), - lock: workflow.NewMutex(ctx), - } - return deploymentWorkflowNameRunner.run(ctx) -} - -func (d *DeploymentSeriesWorkflowRunner) run(ctx workflow.Context) error { - if d.State == nil { - d.State = &deploymentspb.SeriesLocalState{} - } - - var pendingUpdates int - - err := workflow.SetQueryHandler(ctx, QueryCurrentDeployment, func() (string, error) { - return d.State.CurrentBuildId, nil - }) - if err != nil { - d.logger.Info("SetQueryHandler failed for DeploymentSeries workflow with error: " + err.Error()) - return err - } - - if err := workflow.SetUpdateHandlerWithOptions( - ctx, - SetCurrentDeployment, - d.handleSetCurrent, - workflow.UpdateHandlerOptions{ - Validator: d.validateSetCurrent, - }, - ); err != nil { - return err - } - - // Wait until we can continue as new or are cancelled. - err = workflow.Await(ctx, func() bool { return workflow.GetInfo(ctx).GetContinueAsNewSuggested() && pendingUpdates == 0 }) - if err != nil { - return err - } - - // Continue as new when there are no pending updates and history size is greater than requestsBeforeContinueAsNew. - // Note, if update requests come in faster than they - // are handled, there will not be a moment where the workflow has - // nothing pending which means this will run forever. - return workflow.NewContinueAsNewError(ctx, DeploymentSeriesWorkflow, d.DeploymentSeriesWorkflowArgs) -} - -func (d *DeploymentSeriesWorkflowRunner) validateSetCurrent(args *deploymentspb.SetCurrentDeploymentArgs) error { - if d.State.CurrentBuildId != args.BuildId { - return nil - } - - return temporal.NewApplicationError("no change", errNoChangeType) -} - -func (d *DeploymentSeriesWorkflowRunner) handleSetCurrent(ctx workflow.Context, args *deploymentspb.SetCurrentDeploymentArgs) (*deploymentspb.SetCurrentDeploymentResponse, error) { - // use lock to enforce only one update at a time - err := d.lock.Lock(ctx) - if err != nil { - d.logger.Error("Could not acquire workflow lock") - return nil, serviceerror.NewDeadlineExceeded("Could not acquire workflow lock") - } - d.pendingUpdates++ - defer func() { - d.pendingUpdates-- - d.lock.Unlock() - }() - - var curState, prevState *deploymentspb.DeploymentLocalState - prevCurrent := d.State.CurrentBuildId - - // update local state - d.State.CurrentBuildId = args.BuildId - d.State.CurrentChangedTime = timestamppb.New(workflow.Now(ctx)) - - // update memo - if err = d.updateMemo(ctx); err != nil { - return nil, err - } - - // tell new current that it's current - if curState, err = d.syncDeployment(ctx, d.State.CurrentBuildId, args.UpdateMetadata); err != nil { - return nil, err - } - - if prevCurrent != "" { - // tell previous current that it's no longer current - if prevState, err = d.syncDeployment(ctx, prevCurrent, nil); err != nil { - return nil, err - } - } - - return &deploymentspb.SetCurrentDeploymentResponse{ - CurrentDeploymentState: curState, - PreviousDeploymentState: prevState, - }, nil -} - -func (d *DeploymentSeriesWorkflowRunner) syncDeployment(ctx workflow.Context, buildId string, updateMetadata *deploymentpb.UpdateDeploymentMetadata) (*deploymentspb.DeploymentLocalState, error) { - activityCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions) - - setCur := &deploymentspb.SyncDeploymentStateArgs_SetCurrent{} - if d.State.CurrentBuildId == buildId { - setCur.LastBecameCurrentTime = d.State.CurrentChangedTime - } - - var res deploymentspb.SyncDeploymentStateActivityResult - err := workflow.ExecuteActivity(activityCtx, d.a.SyncDeployment, &deploymentspb.SyncDeploymentStateActivityArgs{ - Deployment: &deploymentpb.Deployment{ - SeriesName: d.SeriesName, - BuildId: buildId, - }, - Args: &deploymentspb.SyncDeploymentStateArgs{ - SetCurrent: setCur, - UpdateMetadata: updateMetadata, - }, - RequestId: d.newUUID(ctx), - }).Get(ctx, &res) - return res.State, err -} - -func (d *DeploymentSeriesWorkflowRunner) newUUID(ctx workflow.Context) string { - var val string - _ = workflow.SideEffect(ctx, func(ctx workflow.Context) any { - return uuid.NewString() - }).Get(&val) - return val -} - -func (d *DeploymentSeriesWorkflowRunner) updateMemo(ctx workflow.Context) error { - return workflow.UpsertMemo(ctx, map[string]any{ - DeploymentSeriesMemoField: &deploymentspb.DeploymentSeriesWorkflowMemo{ - SeriesName: d.SeriesName, - CurrentBuildId: d.State.CurrentBuildId, - CurrentChangedTime: d.State.CurrentChangedTime, - }, - }) -} diff --git a/service/worker/deployment/deployment_series_workflow_test.go b/service/worker/deployment/deployment_series_workflow_test.go deleted file mode 100644 index a0be3a36d9..0000000000 --- a/service/worker/deployment/deployment_series_workflow_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package deployment - -import ( - "testing" - - "github.com/stretchr/testify/suite" - "go.temporal.io/sdk/testsuite" - "go.uber.org/mock/gomock" -) - -type deploymentSeriesSuite struct { - suite.Suite - testsuite.WorkflowTestSuite - controller *gomock.Controller - env *testsuite.TestWorkflowEnvironment -} - -func TestDeploymentSeriesSuite(t *testing.T) { - suite.Run(t, new(deploymentSeriesSuite)) -} - -func (s *deploymentSeriesSuite) SetupTest() { - s.controller = gomock.NewController(s.T()) - s.env = s.WorkflowTestSuite.NewTestWorkflowEnvironment() - s.env.RegisterWorkflow(DeploymentSeriesWorkflow) -} - -func (s *deploymentSeriesSuite) TearDownTest() { - s.controller.Finish() - s.env.AssertExpectations(s.T()) -} - -/* -func (d *deploymentSeriesSuite) TestStartDeploymentSeriesWorkflow() {} - - - - - -*/ diff --git a/service/worker/deployment/deployment_util.go b/service/worker/deployment/deployment_util.go deleted file mode 100644 index 9b54b93afd..0000000000 --- a/service/worker/deployment/deployment_util.go +++ /dev/null @@ -1,128 +0,0 @@ -package deployment - -import ( - "fmt" - "strings" - - "github.com/temporalio/sqlparser" - commonpb "go.temporal.io/api/common/v1" - enumspb "go.temporal.io/api/enums/v1" - "go.temporal.io/api/serviceerror" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "go.temporal.io/server/common/sdk" - "go.temporal.io/server/common/searchattribute/sadefs" -) - -const ( - // Workflow types - DeploymentWorkflowType = "temporal-sys-deployment-workflow" - DeploymentSeriesWorkflowType = "temporal-sys-deployment-series-workflow" - - // Namespace division - DeploymentNamespaceDivision = "TemporalDeployment" - - // Updates - RegisterWorkerInDeployment = "register-task-queue-worker" // for deployment wf - SyncDeploymentState = "sync-deployment-state" // for deployment wfs - SetCurrentDeployment = "set-current-deployment" // for series wfs - - // Signals - ForceCANSignalName = "force-continue-as-new" // for deployment _and_ series wfs - - // Queries - QueryDescribeDeployment = "describe-deployment" // for deployment wf - QueryCurrentDeployment = "current-deployment" // for series wf - - // Memos - DeploymentMemoField = "DeploymentMemo" // for deployment wf - DeploymentSeriesMemoField = "DeploymentSeriesMemo" // for deployment series wf - - // Prefixes, Delimeters and Keys - DeploymentWorkflowIDPrefix = "temporal-sys-deployment" - DeploymentSeriesWorkflowIDPrefix = "temporal-sys-deployment-series" - DeploymentWorkflowIDDelimeter = ":" - DeploymentWorkflowIDEscape = "|" - DeploymentWorkflowIDInitialSize = (2 * len(DeploymentWorkflowIDDelimeter)) + len(DeploymentWorkflowIDPrefix) - SeriesFieldName = "DeploymentSeries" - BuildIDFieldName = "BuildID" - - // Application error names for rejected updates - errNoChangeType = "errNoChange" - errMaxTaskQueuesInDeploymentType = "errMaxTaskQueuesInDeployment" -) - -var ( - DeploymentVisibilityBaseListQuery = fmt.Sprintf( - "%s = '%s' AND %s = '%s' AND %s = '%s'", - sadefs.WorkflowType, - DeploymentWorkflowType, - sadefs.TemporalNamespaceDivision, - DeploymentNamespaceDivision, - sadefs.ExecutionStatus, - enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING.String(), - ) -) - -// ValidateDeploymentWfParams is a helper that verifies if the fields used for generating -// deployment related workflowID's are valid -func ValidateDeploymentWfParams(fieldName string, field string, maxIDLengthLimit int) error { - // Length checks - if field == "" { - return serviceerror.NewInvalidArgumentf("%v cannot be empty", fieldName) - } - - // Length of each field should be: (MaxIDLengthLimit - prefix and delimeter length) / 2 - if len(field) > (maxIDLengthLimit-DeploymentWorkflowIDInitialSize)/2 { - return serviceerror.NewInvalidArgumentf("size of %v larger than the maximum allowed", fieldName) - } - - return nil -} - -// EscapeChar is a helper which escapes the DeploymentWorkflowIDDelimeter character -// in the input string -func escapeChar(s string) string { - s = strings.Replace(s, DeploymentWorkflowIDEscape, DeploymentWorkflowIDEscape+DeploymentWorkflowIDEscape, -1) - s = strings.Replace(s, DeploymentWorkflowIDDelimeter, DeploymentWorkflowIDEscape+DeploymentWorkflowIDDelimeter, -1) - return s -} - -func GenerateDeploymentSeriesWorkflowID(deploymentSeriesName string) string { - // escaping the reserved workflow delimiter (|) from the inputs, if present - escapedSeriesName := escapeChar(deploymentSeriesName) - return DeploymentSeriesWorkflowIDPrefix + DeploymentWorkflowIDDelimeter + escapedSeriesName -} - -// GenerateDeploymentWorkflowID is a helper that generates a system accepted -// workflowID which are used in our deployment workflows -func GenerateDeploymentWorkflowID(seriesName string, buildID string) string { - escapedSeriesName := escapeChar(seriesName) - escapedBuildId := escapeChar(buildID) - - return DeploymentWorkflowIDPrefix + DeploymentWorkflowIDDelimeter + escapedSeriesName + DeploymentWorkflowIDDelimeter + escapedBuildId -} - -func GenerateDeploymentWorkflowIDForPatternMatching(seriesName string) string { - escapedSeriesName := escapeChar(seriesName) - - return DeploymentWorkflowIDPrefix + DeploymentWorkflowIDDelimeter + escapedSeriesName + DeploymentWorkflowIDDelimeter -} - -// BuildQueryWithSeriesFilter is a helper which builds a query for pattern matching based on the -// provided seriesName -func BuildQueryWithSeriesFilter(seriesName string) string { - workflowID := GenerateDeploymentWorkflowIDForPatternMatching(seriesName) - escapedSeriesEntry := sqlparser.String(sqlparser.NewStrVal([]byte(workflowID))) - - query := fmt.Sprintf("%s AND %s STARTS_WITH %s", DeploymentVisibilityBaseListQuery, sadefs.WorkflowID, escapedSeriesEntry) - return query -} - -func DecodeDeploymentMemo(memo *commonpb.Memo) *deploymentspb.DeploymentWorkflowMemo { - var workflowMemo deploymentspb.DeploymentWorkflowMemo - err := sdk.PreferProtoDataConverter.FromPayload(memo.Fields[DeploymentMemoField], &workflowMemo) - if err != nil { - return nil - } - return &workflowMemo -} diff --git a/service/worker/deployment/deployment_util_test.go b/service/worker/deployment/deployment_util_test.go deleted file mode 100644 index e329d1e9e5..0000000000 --- a/service/worker/deployment/deployment_util_test.go +++ /dev/null @@ -1,156 +0,0 @@ -package deployment - -import ( - "strings" - "sync" - "testing" - - "github.com/stretchr/testify/require" - "github.com/stretchr/testify/suite" - deploymentpb "go.temporal.io/api/deployment/v1" - "go.temporal.io/api/serviceerror" - "go.temporal.io/server/api/historyservicemock/v1" - persistencespb "go.temporal.io/server/api/persistence/v1" - "go.temporal.io/server/common/namespace" - "go.temporal.io/server/common/persistence/visibility/manager" - "go.uber.org/mock/gomock" -) - -// testMaxIDLengthLimit is the current default value used by dynamic config for -// MaxIDLengthLimit -const ( - testNamespace = "deployment-test" - testDeployment = "A" - testBuildID = "xyz" - testMaxIDLengthLimit = 1000 -) - -type ( - deploymentWorkflowClientSuite struct { - suite.Suite - *require.Assertions - controller *gomock.Controller - - ns *namespace.Namespace - mockNamespaceCache *namespace.MockRegistry - mockHistoryClient *historyservicemock.MockHistoryServiceClient - VisibilityManager *manager.MockVisibilityManager - workerDeployment *deploymentpb.Deployment - deploymentClient *DeploymentClientImpl - sync.Mutex - } -) - -func (d *deploymentWorkflowClientSuite) SetupSuite() { -} - -func (d *deploymentWorkflowClientSuite) TearDownSuite() { -} - -func (d *deploymentWorkflowClientSuite) SetupTest() { - d.Assertions = require.New(d.T()) - d.Lock() - defer d.Unlock() - d.controller = gomock.NewController(d.T()) - d.controller = gomock.NewController(d.T()) - d.ns, d.mockNamespaceCache = createMockNamespaceCache(d.controller, testNamespace) - d.VisibilityManager = manager.NewMockVisibilityManager(d.controller) - d.mockHistoryClient = historyservicemock.NewMockHistoryServiceClient(d.controller) - d.workerDeployment = &deploymentpb.Deployment{ - SeriesName: testDeployment, - BuildId: testBuildID, - } - d.deploymentClient = &DeploymentClientImpl{ - historyClient: d.mockHistoryClient, - visibilityManager: d.VisibilityManager, - } - -} - -func createMockNamespaceCache(controller *gomock.Controller, nsName namespace.Name) (*namespace.Namespace, *namespace.MockRegistry) { - ns := namespace.NewLocalNamespaceForTest(&persistencespb.NamespaceInfo{Name: nsName.String()}, nil, "") - mockNamespaceCache := namespace.NewMockRegistry(controller) - mockNamespaceCache.EXPECT().GetNamespaceByID(gomock.Any()).Return(ns, nil).AnyTimes() - mockNamespaceCache.EXPECT().GetNamespaceName(gomock.Any()).Return(ns.Name(), nil).AnyTimes() - return ns, mockNamespaceCache -} - -func TestDeploymentWorkflowClientSuite(t *testing.T) { - d := new(deploymentWorkflowClientSuite) - suite.Run(t, d) -} - -func (d *deploymentWorkflowClientSuite) TestValidateDeploymentWfParams() { - testCases := []struct { - Description string - FieldName string - Input string - ExpectedError error - }{ - { - Description: "Empty Field", - FieldName: SeriesFieldName, - Input: "", - ExpectedError: serviceerror.NewInvalidArgument("DeploymentSeries cannot be empty"), - }, - { - Description: "Large Field", - FieldName: SeriesFieldName, - Input: strings.Repeat("s", 1000), - ExpectedError: serviceerror.NewInvalidArgument("size of DeploymentSeries larger than the maximum allowed"), - }, - { - Description: "Valid field", - FieldName: SeriesFieldName, - Input: "A", - ExpectedError: nil, - }, - } - - for _, test := range testCases { - fieldName := test.FieldName - field := test.Input - err := ValidateDeploymentWfParams(fieldName, field, testMaxIDLengthLimit) - - if test.ExpectedError == nil { - d.NoError(err) - continue - } - - var invalidArgument *serviceerror.InvalidArgument - d.ErrorAs(err, &invalidArgument) - d.Equal(test.ExpectedError.Error(), err.Error()) - } -} - -func (d *deploymentWorkflowClientSuite) TestGenerateDeploymentWorkflowID() { - testCases := []struct { - series, buildID string - expected string - }{ - { - series: "test", - buildID: "build", - expected: "temporal-sys-deployment:test:build", - }, - { - series: "|es|", - buildID: "bu:ld", - expected: "temporal-sys-deployment:||es||:bu|:ld", - }, - { - series: "test:|", - buildID: "|build", - expected: "temporal-sys-deployment:test|:||:||build", - }, - { - series: "test|", - buildID: ":|build", - expected: "temporal-sys-deployment:test||:|:||build", - }, - } - - for _, test := range testCases { - d.Equal(test.expected, GenerateDeploymentWorkflowID(test.series, test.buildID)) - } -} diff --git a/service/worker/deployment/deployment_workflow.go b/service/worker/deployment/deployment_workflow.go deleted file mode 100644 index 36c0ff3cac..0000000000 --- a/service/worker/deployment/deployment_workflow.go +++ /dev/null @@ -1,358 +0,0 @@ -package deployment - -import ( - "fmt" - "time" - - "github.com/google/uuid" - commonpb "go.temporal.io/api/common/v1" - enumspb "go.temporal.io/api/enums/v1" - "go.temporal.io/api/serviceerror" - sdkclient "go.temporal.io/sdk/client" - sdklog "go.temporal.io/sdk/log" - "go.temporal.io/sdk/temporal" - "go.temporal.io/sdk/workflow" - deploymentspb "go.temporal.io/server/api/deployment/v1" - "go.temporal.io/server/common" -) - -type ( - // DeploymentWorkflowRunner holds the local state for a deployment workflow - DeploymentWorkflowRunner struct { - *deploymentspb.DeploymentWorkflowArgs - a *DeploymentActivities - logger sdklog.Logger - metrics sdkclient.MetricsHandler - lock workflow.Mutex - pendingUpdates int - signalsCompleted bool - } -) - -var ( - defaultActivityOptions = workflow.ActivityOptions{ - StartToCloseTimeout: 1 * time.Minute, - RetryPolicy: &temporal.RetryPolicy{ - InitialInterval: 1 * time.Second, - MaximumInterval: 60 * time.Second, - }, - } -) - -func DeploymentWorkflow(ctx workflow.Context, deploymentWorkflowArgs *deploymentspb.DeploymentWorkflowArgs) error { - deploymentWorkflowRunner := &DeploymentWorkflowRunner{ - DeploymentWorkflowArgs: deploymentWorkflowArgs, - - a: nil, - logger: sdklog.With(workflow.GetLogger(ctx), "wf-namespace", deploymentWorkflowArgs.NamespaceName), - metrics: workflow.GetMetricsHandler(ctx).WithTags(map[string]string{"namespace": deploymentWorkflowArgs.NamespaceName}), - lock: workflow.NewMutex(ctx), - } - return deploymentWorkflowRunner.run(ctx) -} - -func (d *DeploymentWorkflowRunner) listenToSignals(ctx workflow.Context) { - // Fetch signal channels - forceCANSignalChannel := workflow.GetSignalChannel(ctx, ForceCANSignalName) - forceCAN := false - - selector := workflow.NewSelector(ctx) - selector.AddReceive(forceCANSignalChannel, func(c workflow.ReceiveChannel, more bool) { - // Process Signal - forceCAN = true - }) - - for (!workflow.GetInfo(ctx).GetContinueAsNewSuggested() && !forceCAN) || selector.HasPending() { - selector.Select(ctx) - } - - // Done processing signals before CAN - d.signalsCompleted = true -} - -func (d *DeploymentWorkflowRunner) run(ctx workflow.Context) error { - if d.State == nil { - d.State = &deploymentspb.DeploymentLocalState{} - } - - // Set up Query Handlers here: - if err := workflow.SetQueryHandler(ctx, QueryDescribeDeployment, d.handleDescribeQuery); err != nil { - d.logger.Error("Failed while setting up query handler") - return err - } - - if err := workflow.SetUpdateHandlerWithOptions( - ctx, - RegisterWorkerInDeployment, - d.handleRegisterWorker, - workflow.UpdateHandlerOptions{ - Validator: d.validateRegisterWorker, - }, - ); err != nil { - return err - } - - if err := workflow.SetUpdateHandlerWithOptions( - ctx, - SyncDeploymentState, - d.handleSyncState, - workflow.UpdateHandlerOptions{ - Validator: d.validateSyncState, - }, - ); err != nil { - return err - } - - // First ensure series workflow is running - if !d.State.StartedSeriesWorkflow { - activityCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions) - err := workflow.ExecuteActivity(activityCtx, d.a.StartDeploymentSeriesWorkflow, &deploymentspb.StartDeploymentSeriesRequest{ - SeriesName: d.State.Deployment.SeriesName, - RequestId: d.newUUID(ctx), - }).Get(ctx, nil) - if err != nil { - return err - } - d.State.StartedSeriesWorkflow = true - } - - // Listen to signals in a different goroutine to make business logic clearer - workflow.Go(ctx, d.listenToSignals) - - // Wait on any pending signals and updates. - err := workflow.Await(ctx, func() bool { return d.pendingUpdates == 0 && d.signalsCompleted }) - if err != nil { - return err - } - - /* - - Posting this as a reminder to limit the number of signals coming through since we use CAN: - - Workflows cannot have infinitely-sized history and when the event count grows too large, `ContinueAsNew` can be returned - to start a new one atomically. However, in order not to lose any data, signals must be drained and any other futures - that need to be reacted to must be completed first. This means there must be a period where there are no signals to - drain and no futures to wait on. If signals come in faster than processed or futures wait so long there is no idle - period, `ContinueAsNew` will not happen in a timely manner and history will grow. - - */ - - d.logger.Debug("Deployment doing continue-as-new") - return workflow.NewContinueAsNewError(ctx, DeploymentWorkflow, d.DeploymentWorkflowArgs) -} - -func (d *DeploymentWorkflowRunner) validateRegisterWorker(args *deploymentspb.RegisterWorkerInDeploymentArgs) error { - if _, ok := d.State.TaskQueueFamilies[args.TaskQueueName].GetTaskQueues()[int32(args.TaskQueueType)]; ok { - return temporal.NewApplicationError("task queue already exists in deployment", errNoChangeType) - } - if len(d.State.TaskQueueFamilies) >= int(args.MaxTaskQueues) { - return temporal.NewApplicationError( - fmt.Sprintf("maximum number of task queues (%d) have been registered in deployment", args.MaxTaskQueues), - errMaxTaskQueuesInDeploymentType, - ) - } - return nil -} - -func (d *DeploymentWorkflowRunner) handleRegisterWorker(ctx workflow.Context, args *deploymentspb.RegisterWorkerInDeploymentArgs) error { - // use lock to enforce only one update at a time - err := d.lock.Lock(ctx) - if err != nil { - d.logger.Error("Could not acquire workflow lock") - return err - } - d.pendingUpdates++ - defer func() { - d.pendingUpdates-- - d.lock.Unlock() - }() - - // wait until series workflow started - err = workflow.Await(ctx, func() bool { return d.State.StartedSeriesWorkflow }) - if err != nil { - d.logger.Error("Update canceled before series workflow started") - return err - } - - // initial data - data := &deploymentspb.TaskQueueData{ - FirstPollerTime: args.FirstPollerTime, - } - - // sync to user data - activityCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions) - var syncRes deploymentspb.SyncUserDataResponse - err = workflow.ExecuteActivity(activityCtx, d.a.SyncUserData, &deploymentspb.SyncUserDataRequest{ - Deployment: d.State.Deployment, - Sync: []*deploymentspb.SyncUserDataRequest_SyncUserData{ - &deploymentspb.SyncUserDataRequest_SyncUserData{ - Name: args.TaskQueueName, - Type: args.TaskQueueType, - Data: d.dataWithTime(data), - }, - }, - }).Get(ctx, &syncRes) - if err != nil { - return err - } - - if len(syncRes.TaskQueueMaxVersions) > 0 { - // wait for propagation - err = workflow.ExecuteActivity(activityCtx, d.a.CheckUserDataPropagation, &deploymentspb.CheckUserDataPropagationRequest{ - TaskQueueMaxVersions: syncRes.TaskQueueMaxVersions, - }).Get(ctx, nil) - if err != nil { - return err - } - } - - // if successful, add the task queue to the local state - if d.State.TaskQueueFamilies == nil { - d.State.TaskQueueFamilies = make(map[string]*deploymentspb.DeploymentLocalState_TaskQueueFamilyData) - } - if d.State.TaskQueueFamilies[args.TaskQueueName] == nil { - d.State.TaskQueueFamilies[args.TaskQueueName] = &deploymentspb.DeploymentLocalState_TaskQueueFamilyData{} - } - if d.State.TaskQueueFamilies[args.TaskQueueName].TaskQueues == nil { - d.State.TaskQueueFamilies[args.TaskQueueName].TaskQueues = make(map[int32]*deploymentspb.TaskQueueData) - } - d.State.TaskQueueFamilies[args.TaskQueueName].TaskQueues[int32(args.TaskQueueType)] = data - - return nil -} - -func (d *DeploymentWorkflowRunner) validateSyncState(args *deploymentspb.SyncDeploymentStateArgs) error { - if set := args.SetCurrent; set != nil { - if set.LastBecameCurrentTime == nil { - if d.State.IsCurrent { - return nil - } - } else { - if !d.State.IsCurrent || - !d.State.LastBecameCurrentTime.AsTime().Equal(set.LastBecameCurrentTime.AsTime()) { - return nil - } - } - } - if args.UpdateMetadata != nil { - // can't compare payloads, just assume it changes something - return nil - } - // return current state along with "no change" - res := &deploymentspb.SyncDeploymentStateResponse{DeploymentLocalState: d.State} - return temporal.NewApplicationError("no change", errNoChangeType, res) -} - -func (d *DeploymentWorkflowRunner) handleSyncState(ctx workflow.Context, args *deploymentspb.SyncDeploymentStateArgs) (*deploymentspb.SyncDeploymentStateResponse, error) { - // use lock to enforce only one update at a time - err := d.lock.Lock(ctx) - if err != nil { - d.logger.Error("Could not acquire workflow lock") - return nil, serviceerror.NewDeadlineExceeded("Could not acquire workflow lock") - } - d.pendingUpdates++ - defer func() { - d.pendingUpdates-- - d.lock.Unlock() - }() - - // wait until series workflow started - err = workflow.Await(ctx, func() bool { return d.State.StartedSeriesWorkflow }) - if err != nil { - d.logger.Error("Update canceled before series workflow started") - return nil, serviceerror.NewDeadlineExceeded("Update canceled before series workflow started") - } - - // apply changes to "current" - if set := args.SetCurrent; set != nil { - if set.LastBecameCurrentTime == nil { - d.State.IsCurrent = false - } else { - d.State.IsCurrent = true - d.State.LastBecameCurrentTime = set.LastBecameCurrentTime - } - if err = d.updateMemo(ctx); err != nil { - return nil, err - } - - // sync to task queues - syncReq := &deploymentspb.SyncUserDataRequest{ - Deployment: d.State.Deployment, - } - - for _, tqName := range workflow.DeterministicKeys(d.State.TaskQueueFamilies) { - byType := d.State.TaskQueueFamilies[tqName] - for _, tqType := range workflow.DeterministicKeys(byType.TaskQueues) { - data := byType.TaskQueues[tqType] - syncReq.Sync = append(syncReq.Sync, &deploymentspb.SyncUserDataRequest_SyncUserData{ - Name: tqName, - Type: enumspb.TaskQueueType(tqType), - Data: d.dataWithTime(data), - }) - } - } - activityCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions) - var syncRes deploymentspb.SyncUserDataResponse - err = workflow.ExecuteActivity(activityCtx, d.a.SyncUserData, syncReq).Get(ctx, &syncRes) - if err != nil { - // TODO: if this fails, should we roll back anything? - return nil, err - } - if len(syncRes.TaskQueueMaxVersions) > 0 { - // wait for propagation - err = workflow.ExecuteActivity(activityCtx, d.a.CheckUserDataPropagation, &deploymentspb.CheckUserDataPropagationRequest{ - TaskQueueMaxVersions: syncRes.TaskQueueMaxVersions, - }).Get(ctx, nil) - if err != nil { - return nil, err - } - } - } - - // apply changes to metadata - if d.State.Metadata == nil && args.UpdateMetadata != nil { - d.State.Metadata = make(map[string]*commonpb.Payload) - } - for _, key := range workflow.DeterministicKeys(args.UpdateMetadata.GetUpsertEntries()) { - payload := args.UpdateMetadata.GetUpsertEntries()[key] - d.State.Metadata[key] = payload - } - for _, key := range args.UpdateMetadata.GetRemoveEntries() { - delete(d.State.Metadata, key) - } - - return &deploymentspb.SyncDeploymentStateResponse{ - DeploymentLocalState: d.State, - }, nil -} - -func (d *DeploymentWorkflowRunner) dataWithTime(data *deploymentspb.TaskQueueData) *deploymentspb.TaskQueueData { - data = common.CloneProto(data) - data.LastBecameCurrentTime = d.State.LastBecameCurrentTime - return data -} - -func (d *DeploymentWorkflowRunner) handleDescribeQuery() (*deploymentspb.QueryDescribeDeploymentResponse, error) { - return &deploymentspb.QueryDescribeDeploymentResponse{ - DeploymentLocalState: d.State, - }, nil -} - -// updateMemo should be called whenever the workflow updates its local state -func (d *DeploymentWorkflowRunner) updateMemo(ctx workflow.Context) error { - return workflow.UpsertMemo(ctx, map[string]any{ - DeploymentMemoField: &deploymentspb.DeploymentWorkflowMemo{ - Deployment: d.State.Deployment, - CreateTime: d.State.CreateTime, - IsCurrentDeployment: d.State.IsCurrent, - }, - }) -} - -func (d *DeploymentWorkflowRunner) newUUID(ctx workflow.Context) string { - var val string - _ = workflow.SideEffect(ctx, func(ctx workflow.Context) any { - return uuid.NewString() - }).Get(&val) - return val -} diff --git a/service/worker/deployment/deployment_workflow_test.go b/service/worker/deployment/deployment_workflow_test.go deleted file mode 100644 index c814dc0b29..0000000000 --- a/service/worker/deployment/deployment_workflow_test.go +++ /dev/null @@ -1,61 +0,0 @@ -package deployment - -import ( - "testing" - - "github.com/stretchr/testify/suite" - "go.temporal.io/sdk/testsuite" - "go.uber.org/mock/gomock" -) - -type deploymentSuite struct { - suite.Suite - testsuite.WorkflowTestSuite - controller *gomock.Controller - env *testsuite.TestWorkflowEnvironment -} - -func TestDeploymentSuite(t *testing.T) { - suite.Run(t, new(deploymentSuite)) -} - -func (s *deploymentSuite) SetupTest() { - s.controller = gomock.NewController(s.T()) - s.env = s.WorkflowTestSuite.NewTestWorkflowEnvironment() - s.env.RegisterWorkflow(DeploymentWorkflow) -} - -func (s *deploymentSuite) TearDownTest() { - s.controller.Finish() - s.env.AssertExpectations(s.T()) -} - -// TestRegisterTaskQueueInDeployment tests the case when a task-queue -// is registered in a deployment -// func (s *deploymentSuite) TestRegisterTaskQueueInDeployment() { -// ) -// } - -// TestRegisterTaskQueuesInDeployment tests the case when multiple task-queues -// are registered (non-concurrently) in a deployment -// func (s *deploymentSuite) TestRegisterTaskQueuesInDeployment() { -// ) -// } - -// TestRegisterTaskQueuesInDeploymentConcurrent tests the case when multiple task-queues -// are registered concurrently in a deployment -// func (s *deploymentSuite) TestRegisterTaskQueuesInDeploymentConcurrent() { -// ) -// } - -// TestRegisterTaskQueuesExceedLimit tests the case when the number of registered task-queues -// exceed the allowed per-deployment limit -// func (s *deploymentSuite) TestRegisterTaskQueuesExceedLimit() { -// ) -// } - -// TestStartDeploymentWorkflowExceedLimit tests the case when the number of -// deployment workflow executions exceed the allowed namespace limit -// func (s *deploymentSuite) TestRegisterTaskQueuesExceedLimit() { -// ) -// } diff --git a/service/worker/deployment/fx.go b/service/worker/deployment/fx.go deleted file mode 100644 index f5a1f63cc7..0000000000 --- a/service/worker/deployment/fx.go +++ /dev/null @@ -1,99 +0,0 @@ -package deployment - -import ( - sdkworker "go.temporal.io/sdk/worker" - "go.temporal.io/sdk/workflow" - "go.temporal.io/server/common/dynamicconfig" - "go.temporal.io/server/common/log" - "go.temporal.io/server/common/metrics" - "go.temporal.io/server/common/namespace" - "go.temporal.io/server/common/persistence/visibility/manager" - "go.temporal.io/server/common/resource" - "go.temporal.io/server/common/sdk" - workercommon "go.temporal.io/server/service/worker/common" - "go.uber.org/fx" -) - -type ( - workerComponent struct { - activityDeps activityDeps - } - - activityDeps struct { - fx.In - MetricsHandler metrics.Handler - Logger log.Logger - ClientFactory sdk.ClientFactory - MatchingClient resource.MatchingClient - DeploymentClient DeploymentStoreClient - } - - fxResult struct { - fx.Out - Component workercommon.PerNSWorkerComponent `group:"perNamespaceWorkerComponent"` - } -) - -var Module = fx.Options( - fx.Provide(NewResult), - fx.Provide(DeploymentStoreClientProvider), -) - -func DeploymentStoreClientProvider( - logger log.Logger, - historyClient resource.HistoryClient, - visibilityManager manager.VisibilityManager, - dc *dynamicconfig.Collection, -) DeploymentStoreClient { - return &DeploymentClientImpl{ - logger: logger, - historyClient: historyClient, - visibilityManager: visibilityManager, - maxIDLengthLimit: dynamicconfig.MaxIDLengthLimit.Get(dc), - visibilityMaxPageSize: dynamicconfig.FrontendVisibilityMaxPageSize.Get(dc), - reachabilityCache: newReachabilityCache( - metrics.NoopMetricsHandler, - visibilityManager, - dynamicconfig.ReachabilityCacheOpenWFsTTL.Get(dc)(), - dynamicconfig.ReachabilityCacheClosedWFsTTL.Get(dc)(), - ), - maxTaskQueuesInDeployment: dynamicconfig.MatchingMaxTaskQueuesInDeployment.Get(dc), - } -} - -func NewResult( - dc *dynamicconfig.Collection, - params activityDeps, -) fxResult { - return fxResult{ - Component: &workerComponent{ - activityDeps: params, - }, - } -} - -func (s *workerComponent) DedicatedWorkerOptions(ns *namespace.Namespace) *workercommon.PerNSDedicatedWorkerOptions { - return &workercommon.PerNSDedicatedWorkerOptions{ - Enabled: true, - } -} - -func (s *workerComponent) Register(registry sdkworker.Registry, ns *namespace.Namespace, details workercommon.RegistrationDetails) func() { - registry.RegisterWorkflowWithOptions(DeploymentWorkflow, workflow.RegisterOptions{Name: DeploymentWorkflowType}) - registry.RegisterWorkflowWithOptions(DeploymentSeriesWorkflow, workflow.RegisterOptions{Name: DeploymentSeriesWorkflowType}) - - deploymentActivities := &DeploymentActivities{ - namespace: ns, - deploymentClient: s.activityDeps.DeploymentClient, - matchingClient: s.activityDeps.MatchingClient, - } - registry.RegisterActivity(deploymentActivities) - - deploymentSeriesActivities := &DeploymentSeriesActivities{ - namespace: ns, - deploymentClient: s.activityDeps.DeploymentClient, - } - registry.RegisterActivity(deploymentSeriesActivities) - - return nil -} diff --git a/service/worker/fx.go b/service/worker/fx.go index 083337d88c..9492f1de68 100644 --- a/service/worker/fx.go +++ b/service/worker/fx.go @@ -26,7 +26,6 @@ import ( "go.temporal.io/server/service/worker/batcher" workercommon "go.temporal.io/server/service/worker/common" "go.temporal.io/server/service/worker/deletenamespace" - "go.temporal.io/server/service/worker/deployment" "go.temporal.io/server/service/worker/dlq" "go.temporal.io/server/service/worker/migration" "go.temporal.io/server/service/worker/scheduler" @@ -40,7 +39,6 @@ var Module = fx.Options( deletenamespace.Module, scheduler.Module, batcher.Module, - deployment.Module, // [cleanup-wv-pre-release] workerdeployment.Module, dlq.Module, fx.Provide( diff --git a/tests/versioning_3_test.go b/tests/versioning_3_test.go index 4b0e055f68..f6190cc1de 100644 --- a/tests/versioning_3_test.go +++ b/tests/versioning_3_test.go @@ -2957,9 +2957,9 @@ func (s *Versioning3Suite) forgetTaskQueueDeploymentVersion( } _, err := s.GetTestCluster().MatchingClient().SyncDeploymentUserData( ctx, &matchingservice.SyncDeploymentUserDataRequest{ - NamespaceId: s.NamespaceID().String(), - TaskQueue: tv.TaskQueue().GetName(), - TaskQueueType: t, + NamespaceId: s.NamespaceID().String(), + TaskQueue: tv.TaskQueue().GetName(), + TaskQueueTypes: []enumspb.TaskQueueType{t}, Operation: &matchingservice.SyncDeploymentUserDataRequest_ForgetVersion{ ForgetVersion: v, }, @@ -3525,15 +3525,9 @@ func (s *Versioning3Suite) waitForDeploymentDataPropagation( s.NoError(err) perTypes := res.GetUserData().GetData().GetPerType() if perTypes != nil { - deps := perTypes[int32(pt.tp)].GetDeploymentData().GetDeployments() deploymentsData := perTypes[int32(pt.tp)].GetDeploymentData().GetDeploymentsData() workerDeploymentData := deploymentsData[tv.DeploymentVersion().GetDeploymentName()] - for _, d := range deps { - if d.GetDeployment().Equal(tv.Deployment()) { - delete(remaining, pt) - } - } if unversionedRamp { if perTypes[int32(pt.tp)].GetDeploymentData().GetUnversionedRampData() != nil { delete(remaining, pt)