diff --git a/api/adminservice/v1/request_response.go-helpers.pb.go b/api/adminservice/v1/request_response.go-helpers.pb.go index abe2bc88ef3..46111fa7463 100644 --- a/api/adminservice/v1/request_response.go-helpers.pb.go +++ b/api/adminservice/v1/request_response.go-helpers.pb.go @@ -3260,3 +3260,114 @@ func (this *ForceUnloadTaskQueuePartitionResponse) Equal(that interface{}) bool return proto.Equal(this, that1) } + +// Marshal an object of type HostConfig to the protobuf v3 wire format +func (val *HostConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type HostConfig from the protobuf v3 wire format +func (val *HostConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *HostConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two HostConfig 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 *HostConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *HostConfig + switch t := that.(type) { + case *HostConfig: + that1 = t + case HostConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetDynamicConfigurationsRequest to the protobuf v3 wire format +func (val *GetDynamicConfigurationsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetDynamicConfigurationsRequest from the protobuf v3 wire format +func (val *GetDynamicConfigurationsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetDynamicConfigurationsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetDynamicConfigurationsRequest 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 *GetDynamicConfigurationsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetDynamicConfigurationsRequest + switch t := that.(type) { + case *GetDynamicConfigurationsRequest: + that1 = t + case GetDynamicConfigurationsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetDynamicConfigurationsResponse to the protobuf v3 wire format +func (val *GetDynamicConfigurationsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetDynamicConfigurationsResponse from the protobuf v3 wire format +func (val *GetDynamicConfigurationsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetDynamicConfigurationsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetDynamicConfigurationsResponse 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 *GetDynamicConfigurationsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetDynamicConfigurationsResponse + switch t := that.(type) { + case *GetDynamicConfigurationsResponse: + that1 = t + case GetDynamicConfigurationsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api/adminservice/v1/request_response.pb.go b/api/adminservice/v1/request_response.pb.go index d9eb926cc53..80dc5707003 100644 --- a/api/adminservice/v1/request_response.pb.go +++ b/api/adminservice/v1/request_response.pb.go @@ -20,6 +20,7 @@ import ( v17 "go.temporal.io/api/workflow/v1" v18 "go.temporal.io/server/api/cluster/v1" v112 "go.temporal.io/server/api/common/v1" + v115 "go.temporal.io/server/api/dynamicconfig/v1" v14 "go.temporal.io/server/api/enums/v1" v11 "go.temporal.io/server/api/history/v1" v13 "go.temporal.io/server/api/namespace/v1" @@ -2545,15 +2546,13 @@ func (*RemoveRemoteClusterResponse) Descriptor() ([]byte, []int) { type ListClusterMembersRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "within" is used to indicate a time range. --) + // aip.dev/not-precedent: "within" is used to indicate a time range. --) LastHeartbeatWithin *durationpb.Duration `protobuf:"bytes,1,opt,name=last_heartbeat_within,json=lastHeartbeatWithin,proto3" json:"last_heartbeat_within,omitempty"` RpcAddress string `protobuf:"bytes,2,opt,name=rpc_address,json=rpcAddress,proto3" json:"rpc_address,omitempty"` HostId string `protobuf:"bytes,3,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` Role v14.ClusterMemberRole `protobuf:"varint,4,opt,name=role,proto3,enum=temporal.server.api.enums.v1.ClusterMemberRole" json:"role,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "after" is used to indicate a time range. --) + // aip.dev/not-precedent: "after" is used to indicate a time range. --) SessionStartedAfterTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=session_started_after_time,json=sessionStartedAfterTime,proto3" json:"session_started_after_time,omitempty"` PageSize int32 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` NextPageToken []byte `protobuf:"bytes,7,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` @@ -5206,6 +5205,148 @@ func (x *ForceUnloadTaskQueuePartitionResponse) GetWasLoaded() bool { return false } +type HostConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The host that this configuration was loaded from. + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + // The raw dynamic config loaded with all constraints. + DynamicConfig map[string]*v115.ConstrainedValues `protobuf:"bytes,2,rep,name=dynamic_config,json=dynamicConfig,proto3" json:"dynamic_config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HostConfig) Reset() { + *x = HostConfig{} + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HostConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HostConfig) ProtoMessage() {} + +func (x *HostConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[88] + 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 HostConfig.ProtoReflect.Descriptor instead. +func (*HostConfig) Descriptor() ([]byte, []int) { + return file_temporal_server_api_adminservice_v1_request_response_proto_rawDescGZIP(), []int{88} +} + +func (x *HostConfig) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *HostConfig) GetDynamicConfig() map[string]*v115.ConstrainedValues { + if x != nil { + return x.DynamicConfig + } + return nil +} + +type GetDynamicConfigurationsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DynamicConfigKeys []string `protobuf:"bytes,1,rep,name=dynamic_config_keys,json=dynamicConfigKeys,proto3" json:"dynamic_config_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDynamicConfigurationsRequest) Reset() { + *x = GetDynamicConfigurationsRequest{} + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDynamicConfigurationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDynamicConfigurationsRequest) ProtoMessage() {} + +func (x *GetDynamicConfigurationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[89] + 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 GetDynamicConfigurationsRequest.ProtoReflect.Descriptor instead. +func (*GetDynamicConfigurationsRequest) Descriptor() ([]byte, []int) { + return file_temporal_server_api_adminservice_v1_request_response_proto_rawDescGZIP(), []int{89} +} + +func (x *GetDynamicConfigurationsRequest) GetDynamicConfigKeys() []string { + if x != nil { + return x.DynamicConfigKeys + } + return nil +} + +type GetDynamicConfigurationsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + HostConfig []*HostConfig `protobuf:"bytes,1,rep,name=host_config,json=hostConfig,proto3" json:"host_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDynamicConfigurationsResponse) Reset() { + *x = GetDynamicConfigurationsResponse{} + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDynamicConfigurationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDynamicConfigurationsResponse) ProtoMessage() {} + +func (x *GetDynamicConfigurationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[90] + 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 GetDynamicConfigurationsResponse.ProtoReflect.Descriptor instead. +func (*GetDynamicConfigurationsResponse) Descriptor() ([]byte, []int) { + return file_temporal_server_api_adminservice_v1_request_response_proto_rawDescGZIP(), []int{90} +} + +func (x *GetDynamicConfigurationsResponse) GetHostConfig() []*HostConfig { + if x != nil { + return x.HostConfig + } + return nil +} + type AddTasksRequest_Task struct { state protoimpl.MessageState `protogen:"open.v1"` CategoryId int32 `protobuf:"varint,1,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` @@ -5216,7 +5357,7 @@ type AddTasksRequest_Task struct { func (x *AddTasksRequest_Task) Reset() { *x = AddTasksRequest_Task{} - mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[95] + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5228,7 +5369,7 @@ func (x *AddTasksRequest_Task) String() string { func (*AddTasksRequest_Task) ProtoMessage() {} func (x *AddTasksRequest_Task) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[95] + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5269,7 +5410,7 @@ type ListQueuesResponse_QueueInfo struct { func (x *ListQueuesResponse_QueueInfo) Reset() { *x = ListQueuesResponse_QueueInfo{} - mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[96] + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5281,7 +5422,7 @@ func (x *ListQueuesResponse_QueueInfo) String() string { func (*ListQueuesResponse_QueueInfo) ProtoMessage() {} func (x *ListQueuesResponse_QueueInfo) ProtoReflect() protoreflect.Message { - mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[96] + mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5322,7 +5463,7 @@ var File_temporal_server_api_adminservice_v1_request_response_proto protoreflect const file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc = "" + "\n" + - ":temporal/server/api/adminservice/v1/request_response.proto\x12#temporal.server.api.adminservice.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\"temporal/api/enums/v1/common.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/version/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a'temporal/api/namespace/v1/message.proto\x1a)temporal/api/replication/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a,temporal/server/api/cluster/v1/message.proto\x1a'temporal/server/api/common/v1/dlq.proto\x1a)temporal/server/api/enums/v1/common.proto\x1a*temporal/server/api/enums/v1/cluster.proto\x1a'temporal/server/api/enums/v1/task.proto\x1a&temporal/server/api/enums/v1/dlq.proto\x1a,temporal/server/api/history/v1/message.proto\x1a.temporal/server/api/namespace/v1/message.proto\x1a0temporal/server/api/replication/v1/message.proto\x1a9temporal/server/api/persistence/v1/cluster_metadata.proto\x1a3temporal/server/api/persistence/v1/executions.proto\x1a?temporal/server/api/persistence/v1/workflow_mutable_state.proto\x1a.temporal/server/api/persistence/v1/tasks.proto\x1a,temporal/server/api/persistence/v1/hsm.proto\x1a.temporal/server/api/taskqueue/v1/message.proto\"\x83\x01\n" + + ":temporal/server/api/adminservice/v1/request_response.proto\x12#temporal.server.api.adminservice.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\"temporal/api/enums/v1/common.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/version/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a'temporal/api/namespace/v1/message.proto\x1a)temporal/api/replication/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a,temporal/server/api/cluster/v1/message.proto\x1a'temporal/server/api/common/v1/dlq.proto\x1a)temporal/server/api/enums/v1/common.proto\x1a*temporal/server/api/enums/v1/cluster.proto\x1a'temporal/server/api/enums/v1/task.proto\x1a&temporal/server/api/enums/v1/dlq.proto\x1a,temporal/server/api/history/v1/message.proto\x1a.temporal/server/api/namespace/v1/message.proto\x1a0temporal/server/api/replication/v1/message.proto\x1a9temporal/server/api/persistence/v1/cluster_metadata.proto\x1a3temporal/server/api/persistence/v1/executions.proto\x1a?temporal/server/api/persistence/v1/workflow_mutable_state.proto\x1a.temporal/server/api/persistence/v1/tasks.proto\x1a,temporal/server/api/persistence/v1/hsm.proto\x1a.temporal/server/api/taskqueue/v1/message.proto\x1a2temporal/server/api/dynamicconfig/v1/message.proto\"\x83\x01\n" + "\x1aRebuildMutableStateRequest\x12\x1c\n" + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\"\x1d\n" + @@ -5706,7 +5847,19 @@ const file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc = "\x14task_queue_partition\x18\x02 \x01(\v24.temporal.server.api.taskqueue.v1.TaskQueuePartitionR\x12taskQueuePartition\"F\n" + "%ForceUnloadTaskQueuePartitionResponse\x12\x1d\n" + "\n" + - "was_loaded\x18\x01 \x01(\bR\twasLoadedB8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3" + "was_loaded\x18\x01 \x01(\bR\twasLoaded\"\x8e\x02\n" + + "\n" + + "HostConfig\x12\x1a\n" + + "\bhostname\x18\x01 \x01(\tR\bhostname\x12i\n" + + "\x0edynamic_config\x18\x02 \x03(\v2B.temporal.server.api.adminservice.v1.HostConfig.DynamicConfigEntryR\rdynamicConfig\x1ay\n" + + "\x12DynamicConfigEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12M\n" + + "\x05value\x18\x02 \x01(\v27.temporal.server.api.dynamicconfig.v1.ConstrainedValuesR\x05value:\x028\x01\"Q\n" + + "\x1fGetDynamicConfigurationsRequest\x12.\n" + + "\x13dynamic_config_keys\x18\x01 \x03(\tR\x11dynamicConfigKeys\"t\n" + + " GetDynamicConfigurationsResponse\x12P\n" + + "\vhost_config\x18\x01 \x03(\v2/.temporal.server.api.adminservice.v1.HostConfigR\n" + + "hostConfigB8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3" var ( file_temporal_server_api_adminservice_v1_request_response_proto_rawDescOnce sync.Once @@ -5720,7 +5873,7 @@ func file_temporal_server_api_adminservice_v1_request_response_proto_rawDescGZIP return file_temporal_server_api_adminservice_v1_request_response_proto_rawDescData } -var file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 98) +var file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 102) var file_temporal_server_api_adminservice_v1_request_response_proto_goTypes = []any{ (*RebuildMutableStateRequest)(nil), // 0: temporal.server.api.adminservice.v1.RebuildMutableStateRequest (*RebuildMutableStateResponse)(nil), // 1: temporal.server.api.adminservice.v1.RebuildMutableStateResponse @@ -5810,152 +5963,160 @@ var file_temporal_server_api_adminservice_v1_request_response_proto_goTypes = [] (*DescribeTaskQueuePartitionResponse)(nil), // 85: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse (*ForceUnloadTaskQueuePartitionRequest)(nil), // 86: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest (*ForceUnloadTaskQueuePartitionResponse)(nil), // 87: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse - nil, // 88: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry - nil, // 89: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry - nil, // 90: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry - nil, // 91: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry - nil, // 92: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.MappingEntry - nil, // 93: temporal.server.api.adminservice.v1.DescribeClusterResponse.SupportedClientsEntry - nil, // 94: temporal.server.api.adminservice.v1.DescribeClusterResponse.TagsEntry - (*AddTasksRequest_Task)(nil), // 95: temporal.server.api.adminservice.v1.AddTasksRequest.Task - (*ListQueuesResponse_QueueInfo)(nil), // 96: temporal.server.api.adminservice.v1.ListQueuesResponse.QueueInfo - nil, // 97: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry - (*v1.WorkflowExecution)(nil), // 98: temporal.api.common.v1.WorkflowExecution - (*v1.DataBlob)(nil), // 99: temporal.api.common.v1.DataBlob - (*v11.VersionHistory)(nil), // 100: temporal.server.api.history.v1.VersionHistory - (*v12.WorkflowMutableState)(nil), // 101: temporal.server.api.persistence.v1.WorkflowMutableState - (*v13.NamespaceCacheInfo)(nil), // 102: temporal.server.api.namespace.v1.NamespaceCacheInfo - (*v12.ShardInfo)(nil), // 103: temporal.server.api.persistence.v1.ShardInfo - (*v11.TaskRange)(nil), // 104: temporal.server.api.history.v1.TaskRange - (v14.TaskType)(0), // 105: temporal.server.api.enums.v1.TaskType - (*timestamppb.Timestamp)(nil), // 106: google.protobuf.Timestamp - (*v15.ReplicationToken)(nil), // 107: temporal.server.api.replication.v1.ReplicationToken - (*v15.ReplicationMessages)(nil), // 108: temporal.server.api.replication.v1.ReplicationMessages - (*v15.ReplicationTaskInfo)(nil), // 109: temporal.server.api.replication.v1.ReplicationTaskInfo - (*v15.ReplicationTask)(nil), // 110: temporal.server.api.replication.v1.ReplicationTask - (*v17.WorkflowExecutionInfo)(nil), // 111: temporal.api.workflow.v1.WorkflowExecutionInfo - (*v18.MembershipInfo)(nil), // 112: temporal.server.api.cluster.v1.MembershipInfo - (*v19.VersionInfo)(nil), // 113: temporal.api.version.v1.VersionInfo - (*v12.ClusterMetadata)(nil), // 114: temporal.server.api.persistence.v1.ClusterMetadata - (*durationpb.Duration)(nil), // 115: google.protobuf.Duration - (v14.ClusterMemberRole)(0), // 116: temporal.server.api.enums.v1.ClusterMemberRole - (*v18.ClusterMember)(nil), // 117: temporal.server.api.cluster.v1.ClusterMember - (v14.DeadLetterQueueType)(0), // 118: temporal.server.api.enums.v1.DeadLetterQueueType - (v16.TaskQueueType)(0), // 119: temporal.api.enums.v1.TaskQueueType - (*v12.AllocatedTaskInfo)(nil), // 120: temporal.server.api.persistence.v1.AllocatedTaskInfo - (*v15.SyncReplicationState)(nil), // 121: temporal.server.api.replication.v1.SyncReplicationState - (*v15.WorkflowReplicationMessages)(nil), // 122: temporal.server.api.replication.v1.WorkflowReplicationMessages - (*v110.NamespaceInfo)(nil), // 123: temporal.api.namespace.v1.NamespaceInfo - (*v110.NamespaceConfig)(nil), // 124: temporal.api.namespace.v1.NamespaceConfig - (*v111.NamespaceReplicationConfig)(nil), // 125: temporal.api.replication.v1.NamespaceReplicationConfig - (*v111.FailoverStatus)(nil), // 126: temporal.api.replication.v1.FailoverStatus - (*v112.HistoryDLQKey)(nil), // 127: temporal.server.api.common.v1.HistoryDLQKey - (*v112.HistoryDLQTask)(nil), // 128: temporal.server.api.common.v1.HistoryDLQTask - (*v112.HistoryDLQTaskMetadata)(nil), // 129: temporal.server.api.common.v1.HistoryDLQTaskMetadata - (v14.DLQOperationType)(0), // 130: temporal.server.api.enums.v1.DLQOperationType - (v14.DLQOperationState)(0), // 131: temporal.server.api.enums.v1.DLQOperationState - (v14.HealthState)(0), // 132: temporal.server.api.enums.v1.HealthState - (*v12.VersionedTransition)(nil), // 133: temporal.server.api.persistence.v1.VersionedTransition - (*v11.VersionHistories)(nil), // 134: temporal.server.api.history.v1.VersionHistories - (*v15.VersionedTransitionArtifact)(nil), // 135: temporal.server.api.replication.v1.VersionedTransitionArtifact - (*v113.TaskQueuePartition)(nil), // 136: temporal.server.api.taskqueue.v1.TaskQueuePartition - (*v114.TaskQueueVersionSelection)(nil), // 137: temporal.api.taskqueue.v1.TaskQueueVersionSelection - (v16.IndexedValueType)(0), // 138: temporal.api.enums.v1.IndexedValueType - (*v113.TaskQueueVersionInfoInternal)(nil), // 139: temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal + (*HostConfig)(nil), // 88: temporal.server.api.adminservice.v1.HostConfig + (*GetDynamicConfigurationsRequest)(nil), // 89: temporal.server.api.adminservice.v1.GetDynamicConfigurationsRequest + (*GetDynamicConfigurationsResponse)(nil), // 90: temporal.server.api.adminservice.v1.GetDynamicConfigurationsResponse + nil, // 91: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry + nil, // 92: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry + nil, // 93: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry + nil, // 94: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry + nil, // 95: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.MappingEntry + nil, // 96: temporal.server.api.adminservice.v1.DescribeClusterResponse.SupportedClientsEntry + nil, // 97: temporal.server.api.adminservice.v1.DescribeClusterResponse.TagsEntry + (*AddTasksRequest_Task)(nil), // 98: temporal.server.api.adminservice.v1.AddTasksRequest.Task + (*ListQueuesResponse_QueueInfo)(nil), // 99: temporal.server.api.adminservice.v1.ListQueuesResponse.QueueInfo + nil, // 100: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry + nil, // 101: temporal.server.api.adminservice.v1.HostConfig.DynamicConfigEntry + (*v1.WorkflowExecution)(nil), // 102: temporal.api.common.v1.WorkflowExecution + (*v1.DataBlob)(nil), // 103: temporal.api.common.v1.DataBlob + (*v11.VersionHistory)(nil), // 104: temporal.server.api.history.v1.VersionHistory + (*v12.WorkflowMutableState)(nil), // 105: temporal.server.api.persistence.v1.WorkflowMutableState + (*v13.NamespaceCacheInfo)(nil), // 106: temporal.server.api.namespace.v1.NamespaceCacheInfo + (*v12.ShardInfo)(nil), // 107: temporal.server.api.persistence.v1.ShardInfo + (*v11.TaskRange)(nil), // 108: temporal.server.api.history.v1.TaskRange + (v14.TaskType)(0), // 109: temporal.server.api.enums.v1.TaskType + (*timestamppb.Timestamp)(nil), // 110: google.protobuf.Timestamp + (*v15.ReplicationToken)(nil), // 111: temporal.server.api.replication.v1.ReplicationToken + (*v15.ReplicationMessages)(nil), // 112: temporal.server.api.replication.v1.ReplicationMessages + (*v15.ReplicationTaskInfo)(nil), // 113: temporal.server.api.replication.v1.ReplicationTaskInfo + (*v15.ReplicationTask)(nil), // 114: temporal.server.api.replication.v1.ReplicationTask + (*v17.WorkflowExecutionInfo)(nil), // 115: temporal.api.workflow.v1.WorkflowExecutionInfo + (*v18.MembershipInfo)(nil), // 116: temporal.server.api.cluster.v1.MembershipInfo + (*v19.VersionInfo)(nil), // 117: temporal.api.version.v1.VersionInfo + (*v12.ClusterMetadata)(nil), // 118: temporal.server.api.persistence.v1.ClusterMetadata + (*durationpb.Duration)(nil), // 119: google.protobuf.Duration + (v14.ClusterMemberRole)(0), // 120: temporal.server.api.enums.v1.ClusterMemberRole + (*v18.ClusterMember)(nil), // 121: temporal.server.api.cluster.v1.ClusterMember + (v14.DeadLetterQueueType)(0), // 122: temporal.server.api.enums.v1.DeadLetterQueueType + (v16.TaskQueueType)(0), // 123: temporal.api.enums.v1.TaskQueueType + (*v12.AllocatedTaskInfo)(nil), // 124: temporal.server.api.persistence.v1.AllocatedTaskInfo + (*v15.SyncReplicationState)(nil), // 125: temporal.server.api.replication.v1.SyncReplicationState + (*v15.WorkflowReplicationMessages)(nil), // 126: temporal.server.api.replication.v1.WorkflowReplicationMessages + (*v110.NamespaceInfo)(nil), // 127: temporal.api.namespace.v1.NamespaceInfo + (*v110.NamespaceConfig)(nil), // 128: temporal.api.namespace.v1.NamespaceConfig + (*v111.NamespaceReplicationConfig)(nil), // 129: temporal.api.replication.v1.NamespaceReplicationConfig + (*v111.FailoverStatus)(nil), // 130: temporal.api.replication.v1.FailoverStatus + (*v112.HistoryDLQKey)(nil), // 131: temporal.server.api.common.v1.HistoryDLQKey + (*v112.HistoryDLQTask)(nil), // 132: temporal.server.api.common.v1.HistoryDLQTask + (*v112.HistoryDLQTaskMetadata)(nil), // 133: temporal.server.api.common.v1.HistoryDLQTaskMetadata + (v14.DLQOperationType)(0), // 134: temporal.server.api.enums.v1.DLQOperationType + (v14.DLQOperationState)(0), // 135: temporal.server.api.enums.v1.DLQOperationState + (v14.HealthState)(0), // 136: temporal.server.api.enums.v1.HealthState + (*v12.VersionedTransition)(nil), // 137: temporal.server.api.persistence.v1.VersionedTransition + (*v11.VersionHistories)(nil), // 138: temporal.server.api.history.v1.VersionHistories + (*v15.VersionedTransitionArtifact)(nil), // 139: temporal.server.api.replication.v1.VersionedTransitionArtifact + (*v113.TaskQueuePartition)(nil), // 140: temporal.server.api.taskqueue.v1.TaskQueuePartition + (*v114.TaskQueueVersionSelection)(nil), // 141: temporal.api.taskqueue.v1.TaskQueueVersionSelection + (v16.IndexedValueType)(0), // 142: temporal.api.enums.v1.IndexedValueType + (*v113.TaskQueueVersionInfoInternal)(nil), // 143: temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal + (*v115.ConstrainedValues)(nil), // 144: temporal.server.api.dynamicconfig.v1.ConstrainedValues } var file_temporal_server_api_adminservice_v1_request_response_proto_depIdxs = []int32{ - 98, // 0: temporal.server.api.adminservice.v1.RebuildMutableStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 98, // 1: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 99, // 2: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.history_batches:type_name -> temporal.api.common.v1.DataBlob - 100, // 3: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.version_history:type_name -> temporal.server.api.history.v1.VersionHistory - 98, // 4: temporal.server.api.adminservice.v1.DescribeMutableStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 101, // 5: temporal.server.api.adminservice.v1.DescribeMutableStateResponse.cache_mutable_state:type_name -> temporal.server.api.persistence.v1.WorkflowMutableState - 101, // 6: temporal.server.api.adminservice.v1.DescribeMutableStateResponse.database_mutable_state:type_name -> temporal.server.api.persistence.v1.WorkflowMutableState - 98, // 7: temporal.server.api.adminservice.v1.DescribeHistoryHostRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution - 102, // 8: temporal.server.api.adminservice.v1.DescribeHistoryHostResponse.namespace_cache:type_name -> temporal.server.api.namespace.v1.NamespaceCacheInfo - 103, // 9: temporal.server.api.adminservice.v1.GetShardResponse.shard_info:type_name -> temporal.server.api.persistence.v1.ShardInfo - 104, // 10: temporal.server.api.adminservice.v1.ListHistoryTasksRequest.task_range:type_name -> temporal.server.api.history.v1.TaskRange + 102, // 0: temporal.server.api.adminservice.v1.RebuildMutableStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 102, // 1: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 103, // 2: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.history_batches:type_name -> temporal.api.common.v1.DataBlob + 104, // 3: temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest.version_history:type_name -> temporal.server.api.history.v1.VersionHistory + 102, // 4: temporal.server.api.adminservice.v1.DescribeMutableStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 105, // 5: temporal.server.api.adminservice.v1.DescribeMutableStateResponse.cache_mutable_state:type_name -> temporal.server.api.persistence.v1.WorkflowMutableState + 105, // 6: temporal.server.api.adminservice.v1.DescribeMutableStateResponse.database_mutable_state:type_name -> temporal.server.api.persistence.v1.WorkflowMutableState + 102, // 7: temporal.server.api.adminservice.v1.DescribeHistoryHostRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 106, // 8: temporal.server.api.adminservice.v1.DescribeHistoryHostResponse.namespace_cache:type_name -> temporal.server.api.namespace.v1.NamespaceCacheInfo + 107, // 9: temporal.server.api.adminservice.v1.GetShardResponse.shard_info:type_name -> temporal.server.api.persistence.v1.ShardInfo + 108, // 10: temporal.server.api.adminservice.v1.ListHistoryTasksRequest.task_range:type_name -> temporal.server.api.history.v1.TaskRange 14, // 11: temporal.server.api.adminservice.v1.ListHistoryTasksResponse.tasks:type_name -> temporal.server.api.adminservice.v1.Task - 105, // 12: temporal.server.api.adminservice.v1.Task.task_type:type_name -> temporal.server.api.enums.v1.TaskType - 106, // 13: temporal.server.api.adminservice.v1.Task.fire_time:type_name -> google.protobuf.Timestamp - 106, // 14: temporal.server.api.adminservice.v1.RemoveTaskRequest.visibility_time:type_name -> google.protobuf.Timestamp - 98, // 15: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Request.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 99, // 16: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response.history_batches:type_name -> temporal.api.common.v1.DataBlob - 100, // 17: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response.version_history:type_name -> temporal.server.api.history.v1.VersionHistory - 98, // 18: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 99, // 19: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse.history_batches:type_name -> temporal.api.common.v1.DataBlob - 100, // 20: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse.version_history:type_name -> temporal.server.api.history.v1.VersionHistory - 107, // 21: temporal.server.api.adminservice.v1.GetReplicationMessagesRequest.tokens:type_name -> temporal.server.api.replication.v1.ReplicationToken - 88, // 22: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.shard_messages:type_name -> temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry - 108, // 23: temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse.messages:type_name -> temporal.server.api.replication.v1.ReplicationMessages - 109, // 24: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesRequest.task_infos:type_name -> temporal.server.api.replication.v1.ReplicationTaskInfo - 110, // 25: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse.replication_tasks:type_name -> temporal.server.api.replication.v1.ReplicationTask - 98, // 26: temporal.server.api.adminservice.v1.ReapplyEventsRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution - 99, // 27: temporal.server.api.adminservice.v1.ReapplyEventsRequest.events:type_name -> temporal.api.common.v1.DataBlob - 89, // 28: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.search_attributes:type_name -> temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry - 90, // 29: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.custom_attributes:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry - 91, // 30: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.system_attributes:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry - 92, // 31: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.mapping:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.MappingEntry - 111, // 32: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.add_workflow_execution_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo - 93, // 33: temporal.server.api.adminservice.v1.DescribeClusterResponse.supported_clients:type_name -> temporal.server.api.adminservice.v1.DescribeClusterResponse.SupportedClientsEntry - 112, // 34: temporal.server.api.adminservice.v1.DescribeClusterResponse.membership_info:type_name -> temporal.server.api.cluster.v1.MembershipInfo - 113, // 35: temporal.server.api.adminservice.v1.DescribeClusterResponse.version_info:type_name -> temporal.api.version.v1.VersionInfo - 94, // 36: temporal.server.api.adminservice.v1.DescribeClusterResponse.tags:type_name -> temporal.server.api.adminservice.v1.DescribeClusterResponse.TagsEntry - 114, // 37: temporal.server.api.adminservice.v1.ListClustersResponse.clusters:type_name -> temporal.server.api.persistence.v1.ClusterMetadata - 115, // 38: temporal.server.api.adminservice.v1.ListClusterMembersRequest.last_heartbeat_within:type_name -> google.protobuf.Duration - 116, // 39: temporal.server.api.adminservice.v1.ListClusterMembersRequest.role:type_name -> temporal.server.api.enums.v1.ClusterMemberRole - 106, // 40: temporal.server.api.adminservice.v1.ListClusterMembersRequest.session_started_after_time:type_name -> google.protobuf.Timestamp - 117, // 41: temporal.server.api.adminservice.v1.ListClusterMembersResponse.active_members:type_name -> temporal.server.api.cluster.v1.ClusterMember - 118, // 42: temporal.server.api.adminservice.v1.GetDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType - 118, // 43: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType - 110, // 44: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.replication_tasks:type_name -> temporal.server.api.replication.v1.ReplicationTask - 109, // 45: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.replication_tasks_info:type_name -> temporal.server.api.replication.v1.ReplicationTaskInfo - 118, // 46: temporal.server.api.adminservice.v1.PurgeDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType - 118, // 47: temporal.server.api.adminservice.v1.MergeDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType - 98, // 48: temporal.server.api.adminservice.v1.RefreshWorkflowTasksRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 119, // 49: temporal.server.api.adminservice.v1.GetTaskQueueTasksRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType - 120, // 50: temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse.tasks:type_name -> temporal.server.api.persistence.v1.AllocatedTaskInfo - 98, // 51: temporal.server.api.adminservice.v1.DeleteWorkflowExecutionRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 121, // 52: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesRequest.sync_replication_state:type_name -> temporal.server.api.replication.v1.SyncReplicationState - 122, // 53: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse.messages:type_name -> temporal.server.api.replication.v1.WorkflowReplicationMessages - 123, // 54: temporal.server.api.adminservice.v1.GetNamespaceResponse.info:type_name -> temporal.api.namespace.v1.NamespaceInfo - 124, // 55: temporal.server.api.adminservice.v1.GetNamespaceResponse.config:type_name -> temporal.api.namespace.v1.NamespaceConfig - 125, // 56: temporal.server.api.adminservice.v1.GetNamespaceResponse.replication_config:type_name -> temporal.api.replication.v1.NamespaceReplicationConfig - 126, // 57: temporal.server.api.adminservice.v1.GetNamespaceResponse.failover_history:type_name -> temporal.api.replication.v1.FailoverStatus - 127, // 58: temporal.server.api.adminservice.v1.GetDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey - 128, // 59: temporal.server.api.adminservice.v1.GetDLQTasksResponse.dlq_tasks:type_name -> temporal.server.api.common.v1.HistoryDLQTask - 127, // 60: temporal.server.api.adminservice.v1.PurgeDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey - 129, // 61: temporal.server.api.adminservice.v1.PurgeDLQTasksRequest.inclusive_max_task_metadata:type_name -> temporal.server.api.common.v1.HistoryDLQTaskMetadata - 127, // 62: temporal.server.api.adminservice.v1.MergeDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey - 129, // 63: temporal.server.api.adminservice.v1.MergeDLQTasksRequest.inclusive_max_task_metadata:type_name -> temporal.server.api.common.v1.HistoryDLQTaskMetadata - 127, // 64: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey - 130, // 65: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.operation_type:type_name -> temporal.server.api.enums.v1.DLQOperationType - 131, // 66: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.operation_state:type_name -> temporal.server.api.enums.v1.DLQOperationState - 106, // 67: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.start_time:type_name -> google.protobuf.Timestamp - 106, // 68: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.end_time:type_name -> google.protobuf.Timestamp - 95, // 69: temporal.server.api.adminservice.v1.AddTasksRequest.tasks:type_name -> temporal.server.api.adminservice.v1.AddTasksRequest.Task - 96, // 70: temporal.server.api.adminservice.v1.ListQueuesResponse.queues:type_name -> temporal.server.api.adminservice.v1.ListQueuesResponse.QueueInfo - 132, // 71: temporal.server.api.adminservice.v1.DeepHealthCheckResponse.state:type_name -> temporal.server.api.enums.v1.HealthState - 98, // 72: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 133, // 73: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.versioned_transition:type_name -> temporal.server.api.persistence.v1.VersionedTransition - 134, // 74: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.version_histories:type_name -> temporal.server.api.history.v1.VersionHistories - 135, // 75: temporal.server.api.adminservice.v1.SyncWorkflowStateResponse.versioned_transition_artifact:type_name -> temporal.server.api.replication.v1.VersionedTransitionArtifact - 98, // 76: temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution - 136, // 77: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition - 137, // 78: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest.build_ids:type_name -> temporal.api.taskqueue.v1.TaskQueueVersionSelection - 97, // 79: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.versions_info_internal:type_name -> temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry - 136, // 80: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition - 108, // 81: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry.value:type_name -> temporal.server.api.replication.v1.ReplicationMessages - 138, // 82: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType - 138, // 83: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType - 138, // 84: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType - 99, // 85: temporal.server.api.adminservice.v1.AddTasksRequest.Task.blob:type_name -> temporal.api.common.v1.DataBlob - 139, // 86: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry.value:type_name -> temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal - 87, // [87:87] is the sub-list for method output_type - 87, // [87:87] is the sub-list for method input_type - 87, // [87:87] is the sub-list for extension type_name - 87, // [87:87] is the sub-list for extension extendee - 0, // [0:87] is the sub-list for field type_name + 109, // 12: temporal.server.api.adminservice.v1.Task.task_type:type_name -> temporal.server.api.enums.v1.TaskType + 110, // 13: temporal.server.api.adminservice.v1.Task.fire_time:type_name -> google.protobuf.Timestamp + 110, // 14: temporal.server.api.adminservice.v1.RemoveTaskRequest.visibility_time:type_name -> google.protobuf.Timestamp + 102, // 15: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Request.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 103, // 16: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response.history_batches:type_name -> temporal.api.common.v1.DataBlob + 104, // 17: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response.version_history:type_name -> temporal.server.api.history.v1.VersionHistory + 102, // 18: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 103, // 19: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse.history_batches:type_name -> temporal.api.common.v1.DataBlob + 104, // 20: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse.version_history:type_name -> temporal.server.api.history.v1.VersionHistory + 111, // 21: temporal.server.api.adminservice.v1.GetReplicationMessagesRequest.tokens:type_name -> temporal.server.api.replication.v1.ReplicationToken + 91, // 22: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.shard_messages:type_name -> temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry + 112, // 23: temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse.messages:type_name -> temporal.server.api.replication.v1.ReplicationMessages + 113, // 24: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesRequest.task_infos:type_name -> temporal.server.api.replication.v1.ReplicationTaskInfo + 114, // 25: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse.replication_tasks:type_name -> temporal.server.api.replication.v1.ReplicationTask + 102, // 26: temporal.server.api.adminservice.v1.ReapplyEventsRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 103, // 27: temporal.server.api.adminservice.v1.ReapplyEventsRequest.events:type_name -> temporal.api.common.v1.DataBlob + 92, // 28: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.search_attributes:type_name -> temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry + 93, // 29: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.custom_attributes:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry + 94, // 30: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.system_attributes:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry + 95, // 31: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.mapping:type_name -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse.MappingEntry + 115, // 32: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.add_workflow_execution_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 96, // 33: temporal.server.api.adminservice.v1.DescribeClusterResponse.supported_clients:type_name -> temporal.server.api.adminservice.v1.DescribeClusterResponse.SupportedClientsEntry + 116, // 34: temporal.server.api.adminservice.v1.DescribeClusterResponse.membership_info:type_name -> temporal.server.api.cluster.v1.MembershipInfo + 117, // 35: temporal.server.api.adminservice.v1.DescribeClusterResponse.version_info:type_name -> temporal.api.version.v1.VersionInfo + 97, // 36: temporal.server.api.adminservice.v1.DescribeClusterResponse.tags:type_name -> temporal.server.api.adminservice.v1.DescribeClusterResponse.TagsEntry + 118, // 37: temporal.server.api.adminservice.v1.ListClustersResponse.clusters:type_name -> temporal.server.api.persistence.v1.ClusterMetadata + 119, // 38: temporal.server.api.adminservice.v1.ListClusterMembersRequest.last_heartbeat_within:type_name -> google.protobuf.Duration + 120, // 39: temporal.server.api.adminservice.v1.ListClusterMembersRequest.role:type_name -> temporal.server.api.enums.v1.ClusterMemberRole + 110, // 40: temporal.server.api.adminservice.v1.ListClusterMembersRequest.session_started_after_time:type_name -> google.protobuf.Timestamp + 121, // 41: temporal.server.api.adminservice.v1.ListClusterMembersResponse.active_members:type_name -> temporal.server.api.cluster.v1.ClusterMember + 122, // 42: temporal.server.api.adminservice.v1.GetDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType + 122, // 43: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType + 114, // 44: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.replication_tasks:type_name -> temporal.server.api.replication.v1.ReplicationTask + 113, // 45: temporal.server.api.adminservice.v1.GetDLQMessagesResponse.replication_tasks_info:type_name -> temporal.server.api.replication.v1.ReplicationTaskInfo + 122, // 46: temporal.server.api.adminservice.v1.PurgeDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType + 122, // 47: temporal.server.api.adminservice.v1.MergeDLQMessagesRequest.type:type_name -> temporal.server.api.enums.v1.DeadLetterQueueType + 102, // 48: temporal.server.api.adminservice.v1.RefreshWorkflowTasksRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 123, // 49: temporal.server.api.adminservice.v1.GetTaskQueueTasksRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 124, // 50: temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse.tasks:type_name -> temporal.server.api.persistence.v1.AllocatedTaskInfo + 102, // 51: temporal.server.api.adminservice.v1.DeleteWorkflowExecutionRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 125, // 52: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesRequest.sync_replication_state:type_name -> temporal.server.api.replication.v1.SyncReplicationState + 126, // 53: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse.messages:type_name -> temporal.server.api.replication.v1.WorkflowReplicationMessages + 127, // 54: temporal.server.api.adminservice.v1.GetNamespaceResponse.info:type_name -> temporal.api.namespace.v1.NamespaceInfo + 128, // 55: temporal.server.api.adminservice.v1.GetNamespaceResponse.config:type_name -> temporal.api.namespace.v1.NamespaceConfig + 129, // 56: temporal.server.api.adminservice.v1.GetNamespaceResponse.replication_config:type_name -> temporal.api.replication.v1.NamespaceReplicationConfig + 130, // 57: temporal.server.api.adminservice.v1.GetNamespaceResponse.failover_history:type_name -> temporal.api.replication.v1.FailoverStatus + 131, // 58: temporal.server.api.adminservice.v1.GetDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey + 132, // 59: temporal.server.api.adminservice.v1.GetDLQTasksResponse.dlq_tasks:type_name -> temporal.server.api.common.v1.HistoryDLQTask + 131, // 60: temporal.server.api.adminservice.v1.PurgeDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey + 133, // 61: temporal.server.api.adminservice.v1.PurgeDLQTasksRequest.inclusive_max_task_metadata:type_name -> temporal.server.api.common.v1.HistoryDLQTaskMetadata + 131, // 62: temporal.server.api.adminservice.v1.MergeDLQTasksRequest.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey + 133, // 63: temporal.server.api.adminservice.v1.MergeDLQTasksRequest.inclusive_max_task_metadata:type_name -> temporal.server.api.common.v1.HistoryDLQTaskMetadata + 131, // 64: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.dlq_key:type_name -> temporal.server.api.common.v1.HistoryDLQKey + 134, // 65: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.operation_type:type_name -> temporal.server.api.enums.v1.DLQOperationType + 135, // 66: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.operation_state:type_name -> temporal.server.api.enums.v1.DLQOperationState + 110, // 67: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.start_time:type_name -> google.protobuf.Timestamp + 110, // 68: temporal.server.api.adminservice.v1.DescribeDLQJobResponse.end_time:type_name -> google.protobuf.Timestamp + 98, // 69: temporal.server.api.adminservice.v1.AddTasksRequest.tasks:type_name -> temporal.server.api.adminservice.v1.AddTasksRequest.Task + 99, // 70: temporal.server.api.adminservice.v1.ListQueuesResponse.queues:type_name -> temporal.server.api.adminservice.v1.ListQueuesResponse.QueueInfo + 136, // 71: temporal.server.api.adminservice.v1.DeepHealthCheckResponse.state:type_name -> temporal.server.api.enums.v1.HealthState + 102, // 72: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 137, // 73: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.versioned_transition:type_name -> temporal.server.api.persistence.v1.VersionedTransition + 138, // 74: temporal.server.api.adminservice.v1.SyncWorkflowStateRequest.version_histories:type_name -> temporal.server.api.history.v1.VersionHistories + 139, // 75: temporal.server.api.adminservice.v1.SyncWorkflowStateResponse.versioned_transition_artifact:type_name -> temporal.server.api.replication.v1.VersionedTransitionArtifact + 102, // 76: temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 140, // 77: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition + 141, // 78: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest.build_ids:type_name -> temporal.api.taskqueue.v1.TaskQueueVersionSelection + 100, // 79: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.versions_info_internal:type_name -> temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry + 140, // 80: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest.task_queue_partition:type_name -> temporal.server.api.taskqueue.v1.TaskQueuePartition + 101, // 81: temporal.server.api.adminservice.v1.HostConfig.dynamic_config:type_name -> temporal.server.api.adminservice.v1.HostConfig.DynamicConfigEntry + 88, // 82: temporal.server.api.adminservice.v1.GetDynamicConfigurationsResponse.host_config:type_name -> temporal.server.api.adminservice.v1.HostConfig + 112, // 83: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry.value:type_name -> temporal.server.api.replication.v1.ReplicationMessages + 142, // 84: temporal.server.api.adminservice.v1.AddSearchAttributesRequest.SearchAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 142, // 85: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.CustomAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 142, // 86: temporal.server.api.adminservice.v1.GetSearchAttributesResponse.SystemAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 103, // 87: temporal.server.api.adminservice.v1.AddTasksRequest.Task.blob:type_name -> temporal.api.common.v1.DataBlob + 143, // 88: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse.VersionsInfoInternalEntry.value:type_name -> temporal.server.api.taskqueue.v1.TaskQueueVersionInfoInternal + 144, // 89: temporal.server.api.adminservice.v1.HostConfig.DynamicConfigEntry.value:type_name -> temporal.server.api.dynamicconfig.v1.ConstrainedValues + 90, // [90:90] is the sub-list for method output_type + 90, // [90:90] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name } func init() { file_temporal_server_api_adminservice_v1_request_response_proto_init() } @@ -5979,7 +6140,7 @@ func file_temporal_server_api_adminservice_v1_request_response_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc), len(file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc)), NumEnums: 0, - NumMessages: 98, + NumMessages: 102, NumExtensions: 0, NumServices: 0, }, diff --git a/api/adminservice/v1/service.pb.go b/api/adminservice/v1/service.pb.go index 7c2aaf2b352..f3aeb54753b 100644 --- a/api/adminservice/v1/service.pb.go +++ b/api/adminservice/v1/service.pb.go @@ -25,7 +25,7 @@ var File_temporal_server_api_adminservice_v1_service_proto protoreflect.FileDesc const file_temporal_server_api_adminservice_v1_service_proto_rawDesc = "" + "\n" + - "1temporal/server/api/adminservice/v1/service.proto\x12#temporal.server.api.adminservice.v1\x1a:temporal/server/api/adminservice/v1/request_response.proto2\xbf4\n" + + "1temporal/server/api/adminservice/v1/service.proto\x12#temporal.server.api.adminservice.v1\x1a:temporal/server/api/adminservice/v1/request_response.proto2\xeb5\n" + "\fAdminService\x12\x9a\x01\n" + "\x13RebuildMutableState\x12?.temporal.server.api.adminservice.v1.RebuildMutableStateRequest\x1a@.temporal.server.api.adminservice.v1.RebuildMutableStateResponse\"\x00\x12\xa6\x01\n" + "\x17ImportWorkflowExecution\x12C.temporal.server.api.adminservice.v1.ImportWorkflowExecutionRequest\x1aD.temporal.server.api.adminservice.v1.ImportWorkflowExecutionResponse\"\x00\x12\x9d\x01\n" + @@ -72,7 +72,8 @@ const file_temporal_server_api_adminservice_v1_service_proto_rawDesc = "" + "\x11SyncWorkflowState\x12=.temporal.server.api.adminservice.v1.SyncWorkflowStateRequest\x1a>.temporal.server.api.adminservice.v1.SyncWorkflowStateResponse\"\x00\x12\xca\x01\n" + "#GenerateLastHistoryReplicationTasks\x12O.temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest\x1aP.temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse\"\x00\x12\xaf\x01\n" + "\x1aDescribeTaskQueuePartition\x12F.temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest\x1aG.temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse\"\x00\x12\xb8\x01\n" + - "\x1dForceUnloadTaskQueuePartition\x12I.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest\x1aJ.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse\"\x00B8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3" + "\x1dForceUnloadTaskQueuePartition\x12I.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest\x1aJ.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse\"\x00\x12\xa9\x01\n" + + "\x18GetDynamicConfigurations\x12D.temporal.server.api.adminservice.v1.GetDynamicConfigurationsRequest\x1aE.temporal.server.api.adminservice.v1.GetDynamicConfigurationsResponse\"\x00B8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3" var file_temporal_server_api_adminservice_v1_service_proto_goTypes = []any{ (*RebuildMutableStateRequest)(nil), // 0: temporal.server.api.adminservice.v1.RebuildMutableStateRequest @@ -118,49 +119,51 @@ var file_temporal_server_api_adminservice_v1_service_proto_goTypes = []any{ (*GenerateLastHistoryReplicationTasksRequest)(nil), // 40: temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest (*DescribeTaskQueuePartitionRequest)(nil), // 41: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest (*ForceUnloadTaskQueuePartitionRequest)(nil), // 42: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest - (*RebuildMutableStateResponse)(nil), // 43: temporal.server.api.adminservice.v1.RebuildMutableStateResponse - (*ImportWorkflowExecutionResponse)(nil), // 44: temporal.server.api.adminservice.v1.ImportWorkflowExecutionResponse - (*DescribeMutableStateResponse)(nil), // 45: temporal.server.api.adminservice.v1.DescribeMutableStateResponse - (*DescribeHistoryHostResponse)(nil), // 46: temporal.server.api.adminservice.v1.DescribeHistoryHostResponse - (*GetShardResponse)(nil), // 47: temporal.server.api.adminservice.v1.GetShardResponse - (*CloseShardResponse)(nil), // 48: temporal.server.api.adminservice.v1.CloseShardResponse - (*ListHistoryTasksResponse)(nil), // 49: temporal.server.api.adminservice.v1.ListHistoryTasksResponse - (*RemoveTaskResponse)(nil), // 50: temporal.server.api.adminservice.v1.RemoveTaskResponse - (*GetWorkflowExecutionRawHistoryV2Response)(nil), // 51: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response - (*GetWorkflowExecutionRawHistoryResponse)(nil), // 52: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse - (*GetReplicationMessagesResponse)(nil), // 53: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse - (*GetNamespaceReplicationMessagesResponse)(nil), // 54: temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse - (*GetDLQReplicationMessagesResponse)(nil), // 55: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse - (*ReapplyEventsResponse)(nil), // 56: temporal.server.api.adminservice.v1.ReapplyEventsResponse - (*AddSearchAttributesResponse)(nil), // 57: temporal.server.api.adminservice.v1.AddSearchAttributesResponse - (*RemoveSearchAttributesResponse)(nil), // 58: temporal.server.api.adminservice.v1.RemoveSearchAttributesResponse - (*GetSearchAttributesResponse)(nil), // 59: temporal.server.api.adminservice.v1.GetSearchAttributesResponse - (*DescribeClusterResponse)(nil), // 60: temporal.server.api.adminservice.v1.DescribeClusterResponse - (*ListClustersResponse)(nil), // 61: temporal.server.api.adminservice.v1.ListClustersResponse - (*ListClusterMembersResponse)(nil), // 62: temporal.server.api.adminservice.v1.ListClusterMembersResponse - (*AddOrUpdateRemoteClusterResponse)(nil), // 63: temporal.server.api.adminservice.v1.AddOrUpdateRemoteClusterResponse - (*RemoveRemoteClusterResponse)(nil), // 64: temporal.server.api.adminservice.v1.RemoveRemoteClusterResponse - (*GetDLQMessagesResponse)(nil), // 65: temporal.server.api.adminservice.v1.GetDLQMessagesResponse - (*PurgeDLQMessagesResponse)(nil), // 66: temporal.server.api.adminservice.v1.PurgeDLQMessagesResponse - (*MergeDLQMessagesResponse)(nil), // 67: temporal.server.api.adminservice.v1.MergeDLQMessagesResponse - (*RefreshWorkflowTasksResponse)(nil), // 68: temporal.server.api.adminservice.v1.RefreshWorkflowTasksResponse - (*ResendReplicationTasksResponse)(nil), // 69: temporal.server.api.adminservice.v1.ResendReplicationTasksResponse - (*GetTaskQueueTasksResponse)(nil), // 70: temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse - (*DeleteWorkflowExecutionResponse)(nil), // 71: temporal.server.api.adminservice.v1.DeleteWorkflowExecutionResponse - (*StreamWorkflowReplicationMessagesResponse)(nil), // 72: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse - (*GetNamespaceResponse)(nil), // 73: temporal.server.api.adminservice.v1.GetNamespaceResponse - (*GetDLQTasksResponse)(nil), // 74: temporal.server.api.adminservice.v1.GetDLQTasksResponse - (*PurgeDLQTasksResponse)(nil), // 75: temporal.server.api.adminservice.v1.PurgeDLQTasksResponse - (*MergeDLQTasksResponse)(nil), // 76: temporal.server.api.adminservice.v1.MergeDLQTasksResponse - (*DescribeDLQJobResponse)(nil), // 77: temporal.server.api.adminservice.v1.DescribeDLQJobResponse - (*CancelDLQJobResponse)(nil), // 78: temporal.server.api.adminservice.v1.CancelDLQJobResponse - (*AddTasksResponse)(nil), // 79: temporal.server.api.adminservice.v1.AddTasksResponse - (*ListQueuesResponse)(nil), // 80: temporal.server.api.adminservice.v1.ListQueuesResponse - (*DeepHealthCheckResponse)(nil), // 81: temporal.server.api.adminservice.v1.DeepHealthCheckResponse - (*SyncWorkflowStateResponse)(nil), // 82: temporal.server.api.adminservice.v1.SyncWorkflowStateResponse - (*GenerateLastHistoryReplicationTasksResponse)(nil), // 83: temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse - (*DescribeTaskQueuePartitionResponse)(nil), // 84: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse - (*ForceUnloadTaskQueuePartitionResponse)(nil), // 85: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse + (*GetDynamicConfigurationsRequest)(nil), // 43: temporal.server.api.adminservice.v1.GetDynamicConfigurationsRequest + (*RebuildMutableStateResponse)(nil), // 44: temporal.server.api.adminservice.v1.RebuildMutableStateResponse + (*ImportWorkflowExecutionResponse)(nil), // 45: temporal.server.api.adminservice.v1.ImportWorkflowExecutionResponse + (*DescribeMutableStateResponse)(nil), // 46: temporal.server.api.adminservice.v1.DescribeMutableStateResponse + (*DescribeHistoryHostResponse)(nil), // 47: temporal.server.api.adminservice.v1.DescribeHistoryHostResponse + (*GetShardResponse)(nil), // 48: temporal.server.api.adminservice.v1.GetShardResponse + (*CloseShardResponse)(nil), // 49: temporal.server.api.adminservice.v1.CloseShardResponse + (*ListHistoryTasksResponse)(nil), // 50: temporal.server.api.adminservice.v1.ListHistoryTasksResponse + (*RemoveTaskResponse)(nil), // 51: temporal.server.api.adminservice.v1.RemoveTaskResponse + (*GetWorkflowExecutionRawHistoryV2Response)(nil), // 52: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response + (*GetWorkflowExecutionRawHistoryResponse)(nil), // 53: temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse + (*GetReplicationMessagesResponse)(nil), // 54: temporal.server.api.adminservice.v1.GetReplicationMessagesResponse + (*GetNamespaceReplicationMessagesResponse)(nil), // 55: temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse + (*GetDLQReplicationMessagesResponse)(nil), // 56: temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse + (*ReapplyEventsResponse)(nil), // 57: temporal.server.api.adminservice.v1.ReapplyEventsResponse + (*AddSearchAttributesResponse)(nil), // 58: temporal.server.api.adminservice.v1.AddSearchAttributesResponse + (*RemoveSearchAttributesResponse)(nil), // 59: temporal.server.api.adminservice.v1.RemoveSearchAttributesResponse + (*GetSearchAttributesResponse)(nil), // 60: temporal.server.api.adminservice.v1.GetSearchAttributesResponse + (*DescribeClusterResponse)(nil), // 61: temporal.server.api.adminservice.v1.DescribeClusterResponse + (*ListClustersResponse)(nil), // 62: temporal.server.api.adminservice.v1.ListClustersResponse + (*ListClusterMembersResponse)(nil), // 63: temporal.server.api.adminservice.v1.ListClusterMembersResponse + (*AddOrUpdateRemoteClusterResponse)(nil), // 64: temporal.server.api.adminservice.v1.AddOrUpdateRemoteClusterResponse + (*RemoveRemoteClusterResponse)(nil), // 65: temporal.server.api.adminservice.v1.RemoveRemoteClusterResponse + (*GetDLQMessagesResponse)(nil), // 66: temporal.server.api.adminservice.v1.GetDLQMessagesResponse + (*PurgeDLQMessagesResponse)(nil), // 67: temporal.server.api.adminservice.v1.PurgeDLQMessagesResponse + (*MergeDLQMessagesResponse)(nil), // 68: temporal.server.api.adminservice.v1.MergeDLQMessagesResponse + (*RefreshWorkflowTasksResponse)(nil), // 69: temporal.server.api.adminservice.v1.RefreshWorkflowTasksResponse + (*ResendReplicationTasksResponse)(nil), // 70: temporal.server.api.adminservice.v1.ResendReplicationTasksResponse + (*GetTaskQueueTasksResponse)(nil), // 71: temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse + (*DeleteWorkflowExecutionResponse)(nil), // 72: temporal.server.api.adminservice.v1.DeleteWorkflowExecutionResponse + (*StreamWorkflowReplicationMessagesResponse)(nil), // 73: temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse + (*GetNamespaceResponse)(nil), // 74: temporal.server.api.adminservice.v1.GetNamespaceResponse + (*GetDLQTasksResponse)(nil), // 75: temporal.server.api.adminservice.v1.GetDLQTasksResponse + (*PurgeDLQTasksResponse)(nil), // 76: temporal.server.api.adminservice.v1.PurgeDLQTasksResponse + (*MergeDLQTasksResponse)(nil), // 77: temporal.server.api.adminservice.v1.MergeDLQTasksResponse + (*DescribeDLQJobResponse)(nil), // 78: temporal.server.api.adminservice.v1.DescribeDLQJobResponse + (*CancelDLQJobResponse)(nil), // 79: temporal.server.api.adminservice.v1.CancelDLQJobResponse + (*AddTasksResponse)(nil), // 80: temporal.server.api.adminservice.v1.AddTasksResponse + (*ListQueuesResponse)(nil), // 81: temporal.server.api.adminservice.v1.ListQueuesResponse + (*DeepHealthCheckResponse)(nil), // 82: temporal.server.api.adminservice.v1.DeepHealthCheckResponse + (*SyncWorkflowStateResponse)(nil), // 83: temporal.server.api.adminservice.v1.SyncWorkflowStateResponse + (*GenerateLastHistoryReplicationTasksResponse)(nil), // 84: temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse + (*DescribeTaskQueuePartitionResponse)(nil), // 85: temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse + (*ForceUnloadTaskQueuePartitionResponse)(nil), // 86: temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse + (*GetDynamicConfigurationsResponse)(nil), // 87: temporal.server.api.adminservice.v1.GetDynamicConfigurationsResponse } var file_temporal_server_api_adminservice_v1_service_proto_depIdxs = []int32{ 0, // 0: temporal.server.api.adminservice.v1.AdminService.RebuildMutableState:input_type -> temporal.server.api.adminservice.v1.RebuildMutableStateRequest @@ -206,51 +209,53 @@ var file_temporal_server_api_adminservice_v1_service_proto_depIdxs = []int32{ 40, // 40: temporal.server.api.adminservice.v1.AdminService.GenerateLastHistoryReplicationTasks:input_type -> temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest 41, // 41: temporal.server.api.adminservice.v1.AdminService.DescribeTaskQueuePartition:input_type -> temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest 42, // 42: temporal.server.api.adminservice.v1.AdminService.ForceUnloadTaskQueuePartition:input_type -> temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest - 43, // 43: temporal.server.api.adminservice.v1.AdminService.RebuildMutableState:output_type -> temporal.server.api.adminservice.v1.RebuildMutableStateResponse - 44, // 44: temporal.server.api.adminservice.v1.AdminService.ImportWorkflowExecution:output_type -> temporal.server.api.adminservice.v1.ImportWorkflowExecutionResponse - 45, // 45: temporal.server.api.adminservice.v1.AdminService.DescribeMutableState:output_type -> temporal.server.api.adminservice.v1.DescribeMutableStateResponse - 46, // 46: temporal.server.api.adminservice.v1.AdminService.DescribeHistoryHost:output_type -> temporal.server.api.adminservice.v1.DescribeHistoryHostResponse - 47, // 47: temporal.server.api.adminservice.v1.AdminService.GetShard:output_type -> temporal.server.api.adminservice.v1.GetShardResponse - 48, // 48: temporal.server.api.adminservice.v1.AdminService.CloseShard:output_type -> temporal.server.api.adminservice.v1.CloseShardResponse - 49, // 49: temporal.server.api.adminservice.v1.AdminService.ListHistoryTasks:output_type -> temporal.server.api.adminservice.v1.ListHistoryTasksResponse - 50, // 50: temporal.server.api.adminservice.v1.AdminService.RemoveTask:output_type -> temporal.server.api.adminservice.v1.RemoveTaskResponse - 51, // 51: temporal.server.api.adminservice.v1.AdminService.GetWorkflowExecutionRawHistoryV2:output_type -> temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response - 52, // 52: temporal.server.api.adminservice.v1.AdminService.GetWorkflowExecutionRawHistory:output_type -> temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse - 53, // 53: temporal.server.api.adminservice.v1.AdminService.GetReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetReplicationMessagesResponse - 54, // 54: temporal.server.api.adminservice.v1.AdminService.GetNamespaceReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse - 55, // 55: temporal.server.api.adminservice.v1.AdminService.GetDLQReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse - 56, // 56: temporal.server.api.adminservice.v1.AdminService.ReapplyEvents:output_type -> temporal.server.api.adminservice.v1.ReapplyEventsResponse - 57, // 57: temporal.server.api.adminservice.v1.AdminService.AddSearchAttributes:output_type -> temporal.server.api.adminservice.v1.AddSearchAttributesResponse - 58, // 58: temporal.server.api.adminservice.v1.AdminService.RemoveSearchAttributes:output_type -> temporal.server.api.adminservice.v1.RemoveSearchAttributesResponse - 59, // 59: temporal.server.api.adminservice.v1.AdminService.GetSearchAttributes:output_type -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse - 60, // 60: temporal.server.api.adminservice.v1.AdminService.DescribeCluster:output_type -> temporal.server.api.adminservice.v1.DescribeClusterResponse - 61, // 61: temporal.server.api.adminservice.v1.AdminService.ListClusters:output_type -> temporal.server.api.adminservice.v1.ListClustersResponse - 62, // 62: temporal.server.api.adminservice.v1.AdminService.ListClusterMembers:output_type -> temporal.server.api.adminservice.v1.ListClusterMembersResponse - 63, // 63: temporal.server.api.adminservice.v1.AdminService.AddOrUpdateRemoteCluster:output_type -> temporal.server.api.adminservice.v1.AddOrUpdateRemoteClusterResponse - 64, // 64: temporal.server.api.adminservice.v1.AdminService.RemoveRemoteCluster:output_type -> temporal.server.api.adminservice.v1.RemoveRemoteClusterResponse - 65, // 65: temporal.server.api.adminservice.v1.AdminService.GetDLQMessages:output_type -> temporal.server.api.adminservice.v1.GetDLQMessagesResponse - 66, // 66: temporal.server.api.adminservice.v1.AdminService.PurgeDLQMessages:output_type -> temporal.server.api.adminservice.v1.PurgeDLQMessagesResponse - 67, // 67: temporal.server.api.adminservice.v1.AdminService.MergeDLQMessages:output_type -> temporal.server.api.adminservice.v1.MergeDLQMessagesResponse - 68, // 68: temporal.server.api.adminservice.v1.AdminService.RefreshWorkflowTasks:output_type -> temporal.server.api.adminservice.v1.RefreshWorkflowTasksResponse - 69, // 69: temporal.server.api.adminservice.v1.AdminService.ResendReplicationTasks:output_type -> temporal.server.api.adminservice.v1.ResendReplicationTasksResponse - 70, // 70: temporal.server.api.adminservice.v1.AdminService.GetTaskQueueTasks:output_type -> temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse - 71, // 71: temporal.server.api.adminservice.v1.AdminService.DeleteWorkflowExecution:output_type -> temporal.server.api.adminservice.v1.DeleteWorkflowExecutionResponse - 72, // 72: temporal.server.api.adminservice.v1.AdminService.StreamWorkflowReplicationMessages:output_type -> temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse - 73, // 73: temporal.server.api.adminservice.v1.AdminService.GetNamespace:output_type -> temporal.server.api.adminservice.v1.GetNamespaceResponse - 74, // 74: temporal.server.api.adminservice.v1.AdminService.GetDLQTasks:output_type -> temporal.server.api.adminservice.v1.GetDLQTasksResponse - 75, // 75: temporal.server.api.adminservice.v1.AdminService.PurgeDLQTasks:output_type -> temporal.server.api.adminservice.v1.PurgeDLQTasksResponse - 76, // 76: temporal.server.api.adminservice.v1.AdminService.MergeDLQTasks:output_type -> temporal.server.api.adminservice.v1.MergeDLQTasksResponse - 77, // 77: temporal.server.api.adminservice.v1.AdminService.DescribeDLQJob:output_type -> temporal.server.api.adminservice.v1.DescribeDLQJobResponse - 78, // 78: temporal.server.api.adminservice.v1.AdminService.CancelDLQJob:output_type -> temporal.server.api.adminservice.v1.CancelDLQJobResponse - 79, // 79: temporal.server.api.adminservice.v1.AdminService.AddTasks:output_type -> temporal.server.api.adminservice.v1.AddTasksResponse - 80, // 80: temporal.server.api.adminservice.v1.AdminService.ListQueues:output_type -> temporal.server.api.adminservice.v1.ListQueuesResponse - 81, // 81: temporal.server.api.adminservice.v1.AdminService.DeepHealthCheck:output_type -> temporal.server.api.adminservice.v1.DeepHealthCheckResponse - 82, // 82: temporal.server.api.adminservice.v1.AdminService.SyncWorkflowState:output_type -> temporal.server.api.adminservice.v1.SyncWorkflowStateResponse - 83, // 83: temporal.server.api.adminservice.v1.AdminService.GenerateLastHistoryReplicationTasks:output_type -> temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse - 84, // 84: temporal.server.api.adminservice.v1.AdminService.DescribeTaskQueuePartition:output_type -> temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse - 85, // 85: temporal.server.api.adminservice.v1.AdminService.ForceUnloadTaskQueuePartition:output_type -> temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse - 43, // [43:86] is the sub-list for method output_type - 0, // [0:43] is the sub-list for method input_type + 43, // 43: temporal.server.api.adminservice.v1.AdminService.GetDynamicConfigurations:input_type -> temporal.server.api.adminservice.v1.GetDynamicConfigurationsRequest + 44, // 44: temporal.server.api.adminservice.v1.AdminService.RebuildMutableState:output_type -> temporal.server.api.adminservice.v1.RebuildMutableStateResponse + 45, // 45: temporal.server.api.adminservice.v1.AdminService.ImportWorkflowExecution:output_type -> temporal.server.api.adminservice.v1.ImportWorkflowExecutionResponse + 46, // 46: temporal.server.api.adminservice.v1.AdminService.DescribeMutableState:output_type -> temporal.server.api.adminservice.v1.DescribeMutableStateResponse + 47, // 47: temporal.server.api.adminservice.v1.AdminService.DescribeHistoryHost:output_type -> temporal.server.api.adminservice.v1.DescribeHistoryHostResponse + 48, // 48: temporal.server.api.adminservice.v1.AdminService.GetShard:output_type -> temporal.server.api.adminservice.v1.GetShardResponse + 49, // 49: temporal.server.api.adminservice.v1.AdminService.CloseShard:output_type -> temporal.server.api.adminservice.v1.CloseShardResponse + 50, // 50: temporal.server.api.adminservice.v1.AdminService.ListHistoryTasks:output_type -> temporal.server.api.adminservice.v1.ListHistoryTasksResponse + 51, // 51: temporal.server.api.adminservice.v1.AdminService.RemoveTask:output_type -> temporal.server.api.adminservice.v1.RemoveTaskResponse + 52, // 52: temporal.server.api.adminservice.v1.AdminService.GetWorkflowExecutionRawHistoryV2:output_type -> temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryV2Response + 53, // 53: temporal.server.api.adminservice.v1.AdminService.GetWorkflowExecutionRawHistory:output_type -> temporal.server.api.adminservice.v1.GetWorkflowExecutionRawHistoryResponse + 54, // 54: temporal.server.api.adminservice.v1.AdminService.GetReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetReplicationMessagesResponse + 55, // 55: temporal.server.api.adminservice.v1.AdminService.GetNamespaceReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetNamespaceReplicationMessagesResponse + 56, // 56: temporal.server.api.adminservice.v1.AdminService.GetDLQReplicationMessages:output_type -> temporal.server.api.adminservice.v1.GetDLQReplicationMessagesResponse + 57, // 57: temporal.server.api.adminservice.v1.AdminService.ReapplyEvents:output_type -> temporal.server.api.adminservice.v1.ReapplyEventsResponse + 58, // 58: temporal.server.api.adminservice.v1.AdminService.AddSearchAttributes:output_type -> temporal.server.api.adminservice.v1.AddSearchAttributesResponse + 59, // 59: temporal.server.api.adminservice.v1.AdminService.RemoveSearchAttributes:output_type -> temporal.server.api.adminservice.v1.RemoveSearchAttributesResponse + 60, // 60: temporal.server.api.adminservice.v1.AdminService.GetSearchAttributes:output_type -> temporal.server.api.adminservice.v1.GetSearchAttributesResponse + 61, // 61: temporal.server.api.adminservice.v1.AdminService.DescribeCluster:output_type -> temporal.server.api.adminservice.v1.DescribeClusterResponse + 62, // 62: temporal.server.api.adminservice.v1.AdminService.ListClusters:output_type -> temporal.server.api.adminservice.v1.ListClustersResponse + 63, // 63: temporal.server.api.adminservice.v1.AdminService.ListClusterMembers:output_type -> temporal.server.api.adminservice.v1.ListClusterMembersResponse + 64, // 64: temporal.server.api.adminservice.v1.AdminService.AddOrUpdateRemoteCluster:output_type -> temporal.server.api.adminservice.v1.AddOrUpdateRemoteClusterResponse + 65, // 65: temporal.server.api.adminservice.v1.AdminService.RemoveRemoteCluster:output_type -> temporal.server.api.adminservice.v1.RemoveRemoteClusterResponse + 66, // 66: temporal.server.api.adminservice.v1.AdminService.GetDLQMessages:output_type -> temporal.server.api.adminservice.v1.GetDLQMessagesResponse + 67, // 67: temporal.server.api.adminservice.v1.AdminService.PurgeDLQMessages:output_type -> temporal.server.api.adminservice.v1.PurgeDLQMessagesResponse + 68, // 68: temporal.server.api.adminservice.v1.AdminService.MergeDLQMessages:output_type -> temporal.server.api.adminservice.v1.MergeDLQMessagesResponse + 69, // 69: temporal.server.api.adminservice.v1.AdminService.RefreshWorkflowTasks:output_type -> temporal.server.api.adminservice.v1.RefreshWorkflowTasksResponse + 70, // 70: temporal.server.api.adminservice.v1.AdminService.ResendReplicationTasks:output_type -> temporal.server.api.adminservice.v1.ResendReplicationTasksResponse + 71, // 71: temporal.server.api.adminservice.v1.AdminService.GetTaskQueueTasks:output_type -> temporal.server.api.adminservice.v1.GetTaskQueueTasksResponse + 72, // 72: temporal.server.api.adminservice.v1.AdminService.DeleteWorkflowExecution:output_type -> temporal.server.api.adminservice.v1.DeleteWorkflowExecutionResponse + 73, // 73: temporal.server.api.adminservice.v1.AdminService.StreamWorkflowReplicationMessages:output_type -> temporal.server.api.adminservice.v1.StreamWorkflowReplicationMessagesResponse + 74, // 74: temporal.server.api.adminservice.v1.AdminService.GetNamespace:output_type -> temporal.server.api.adminservice.v1.GetNamespaceResponse + 75, // 75: temporal.server.api.adminservice.v1.AdminService.GetDLQTasks:output_type -> temporal.server.api.adminservice.v1.GetDLQTasksResponse + 76, // 76: temporal.server.api.adminservice.v1.AdminService.PurgeDLQTasks:output_type -> temporal.server.api.adminservice.v1.PurgeDLQTasksResponse + 77, // 77: temporal.server.api.adminservice.v1.AdminService.MergeDLQTasks:output_type -> temporal.server.api.adminservice.v1.MergeDLQTasksResponse + 78, // 78: temporal.server.api.adminservice.v1.AdminService.DescribeDLQJob:output_type -> temporal.server.api.adminservice.v1.DescribeDLQJobResponse + 79, // 79: temporal.server.api.adminservice.v1.AdminService.CancelDLQJob:output_type -> temporal.server.api.adminservice.v1.CancelDLQJobResponse + 80, // 80: temporal.server.api.adminservice.v1.AdminService.AddTasks:output_type -> temporal.server.api.adminservice.v1.AddTasksResponse + 81, // 81: temporal.server.api.adminservice.v1.AdminService.ListQueues:output_type -> temporal.server.api.adminservice.v1.ListQueuesResponse + 82, // 82: temporal.server.api.adminservice.v1.AdminService.DeepHealthCheck:output_type -> temporal.server.api.adminservice.v1.DeepHealthCheckResponse + 83, // 83: temporal.server.api.adminservice.v1.AdminService.SyncWorkflowState:output_type -> temporal.server.api.adminservice.v1.SyncWorkflowStateResponse + 84, // 84: temporal.server.api.adminservice.v1.AdminService.GenerateLastHistoryReplicationTasks:output_type -> temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse + 85, // 85: temporal.server.api.adminservice.v1.AdminService.DescribeTaskQueuePartition:output_type -> temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse + 86, // 86: temporal.server.api.adminservice.v1.AdminService.ForceUnloadTaskQueuePartition:output_type -> temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse + 87, // 87: temporal.server.api.adminservice.v1.AdminService.GetDynamicConfigurations:output_type -> temporal.server.api.adminservice.v1.GetDynamicConfigurationsResponse + 44, // [44:88] is the sub-list for method output_type + 0, // [0:44] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/api/adminservice/v1/service_grpc.pb.go b/api/adminservice/v1/service_grpc.pb.go index 52816c7fe44..5ad46936fa9 100644 --- a/api/adminservice/v1/service_grpc.pb.go +++ b/api/adminservice/v1/service_grpc.pb.go @@ -63,6 +63,7 @@ const ( AdminService_GenerateLastHistoryReplicationTasks_FullMethodName = "/temporal.server.api.adminservice.v1.AdminService/GenerateLastHistoryReplicationTasks" AdminService_DescribeTaskQueuePartition_FullMethodName = "/temporal.server.api.adminservice.v1.AdminService/DescribeTaskQueuePartition" AdminService_ForceUnloadTaskQueuePartition_FullMethodName = "/temporal.server.api.adminservice.v1.AdminService/ForceUnloadTaskQueuePartition" + AdminService_GetDynamicConfigurations_FullMethodName = "/temporal.server.api.adminservice.v1.AdminService/GetDynamicConfigurations" ) // AdminServiceClient is the client API for AdminService service. @@ -121,9 +122,7 @@ type AdminServiceClient interface { // GetDLQMessages returns messages from DLQ. GetDLQMessages(ctx context.Context, in *GetDLQMessagesRequest, opts ...grpc.CallOption) (*GetDLQMessagesResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) - // + // aip.dev/not-precedent: --) // PurgeDLQMessages purges messages from DLQ. PurgeDLQMessages(ctx context.Context, in *PurgeDLQMessagesRequest, opts ...grpc.CallOption) (*PurgeDLQMessagesResponse, error) // MergeDLQMessages merges messages from DLQ. @@ -140,8 +139,7 @@ type AdminServiceClient interface { GetNamespace(ctx context.Context, in *GetNamespaceRequest, opts ...grpc.CallOption) (*GetNamespaceResponse, error) GetDLQTasks(ctx context.Context, in *GetDLQTasksRequest, opts ...grpc.CallOption) (*GetDLQTasksResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) + // aip.dev/not-precedent: --) PurgeDLQTasks(ctx context.Context, in *PurgeDLQTasksRequest, opts ...grpc.CallOption) (*PurgeDLQTasksResponse, error) MergeDLQTasks(ctx context.Context, in *MergeDLQTasksRequest, opts ...grpc.CallOption) (*MergeDLQTasksResponse, error) DescribeDLQJob(ctx context.Context, in *DescribeDLQJobRequest, opts ...grpc.CallOption) (*DescribeDLQJobResponse, error) @@ -153,6 +151,7 @@ type AdminServiceClient interface { GenerateLastHistoryReplicationTasks(ctx context.Context, in *GenerateLastHistoryReplicationTasksRequest, opts ...grpc.CallOption) (*GenerateLastHistoryReplicationTasksResponse, error) DescribeTaskQueuePartition(ctx context.Context, in *DescribeTaskQueuePartitionRequest, opts ...grpc.CallOption) (*DescribeTaskQueuePartitionResponse, error) ForceUnloadTaskQueuePartition(ctx context.Context, in *ForceUnloadTaskQueuePartitionRequest, opts ...grpc.CallOption) (*ForceUnloadTaskQueuePartitionResponse, error) + GetDynamicConfigurations(ctx context.Context, in *GetDynamicConfigurationsRequest, opts ...grpc.CallOption) (*GetDynamicConfigurationsResponse, error) } type adminServiceClient struct { @@ -572,6 +571,15 @@ func (c *adminServiceClient) ForceUnloadTaskQueuePartition(ctx context.Context, return out, nil } +func (c *adminServiceClient) GetDynamicConfigurations(ctx context.Context, in *GetDynamicConfigurationsRequest, opts ...grpc.CallOption) (*GetDynamicConfigurationsResponse, error) { + out := new(GetDynamicConfigurationsResponse) + err := c.cc.Invoke(ctx, AdminService_GetDynamicConfigurations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // AdminServiceServer is the server API for AdminService service. // All implementations must embed UnimplementedAdminServiceServer // for forward compatibility @@ -628,9 +636,7 @@ type AdminServiceServer interface { // GetDLQMessages returns messages from DLQ. GetDLQMessages(context.Context, *GetDLQMessagesRequest) (*GetDLQMessagesResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) - // + // aip.dev/not-precedent: --) // PurgeDLQMessages purges messages from DLQ. PurgeDLQMessages(context.Context, *PurgeDLQMessagesRequest) (*PurgeDLQMessagesResponse, error) // MergeDLQMessages merges messages from DLQ. @@ -647,8 +653,7 @@ type AdminServiceServer interface { GetNamespace(context.Context, *GetNamespaceRequest) (*GetNamespaceResponse, error) GetDLQTasks(context.Context, *GetDLQTasksRequest) (*GetDLQTasksResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) + // aip.dev/not-precedent: --) PurgeDLQTasks(context.Context, *PurgeDLQTasksRequest) (*PurgeDLQTasksResponse, error) MergeDLQTasks(context.Context, *MergeDLQTasksRequest) (*MergeDLQTasksResponse, error) DescribeDLQJob(context.Context, *DescribeDLQJobRequest) (*DescribeDLQJobResponse, error) @@ -660,6 +665,7 @@ type AdminServiceServer interface { GenerateLastHistoryReplicationTasks(context.Context, *GenerateLastHistoryReplicationTasksRequest) (*GenerateLastHistoryReplicationTasksResponse, error) DescribeTaskQueuePartition(context.Context, *DescribeTaskQueuePartitionRequest) (*DescribeTaskQueuePartitionResponse, error) ForceUnloadTaskQueuePartition(context.Context, *ForceUnloadTaskQueuePartitionRequest) (*ForceUnloadTaskQueuePartitionResponse, error) + GetDynamicConfigurations(context.Context, *GetDynamicConfigurationsRequest) (*GetDynamicConfigurationsResponse, error) mustEmbedUnimplementedAdminServiceServer() } @@ -796,6 +802,9 @@ func (UnimplementedAdminServiceServer) DescribeTaskQueuePartition(context.Contex func (UnimplementedAdminServiceServer) ForceUnloadTaskQueuePartition(context.Context, *ForceUnloadTaskQueuePartitionRequest) (*ForceUnloadTaskQueuePartitionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ForceUnloadTaskQueuePartition not implemented") } +func (UnimplementedAdminServiceServer) GetDynamicConfigurations(context.Context, *GetDynamicConfigurationsRequest) (*GetDynamicConfigurationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDynamicConfigurations not implemented") +} func (UnimplementedAdminServiceServer) mustEmbedUnimplementedAdminServiceServer() {} // UnsafeAdminServiceServer may be embedded to opt out of forward compatibility for this service. @@ -1591,6 +1600,24 @@ func _AdminService_ForceUnloadTaskQueuePartition_Handler(srv interface{}, ctx co return interceptor(ctx, in, info, handler) } +func _AdminService_GetDynamicConfigurations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDynamicConfigurationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminServiceServer).GetDynamicConfigurations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AdminService_GetDynamicConfigurations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminServiceServer).GetDynamicConfigurations(ctx, req.(*GetDynamicConfigurationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // AdminService_ServiceDesc is the grpc.ServiceDesc for AdminService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1766,6 +1793,10 @@ var AdminService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ForceUnloadTaskQueuePartition", Handler: _AdminService_ForceUnloadTaskQueuePartition_Handler, }, + { + MethodName: "GetDynamicConfigurations", + Handler: _AdminService_GetDynamicConfigurations_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/api/adminservicemock/v1/service_grpc.pb.mock.go b/api/adminservicemock/v1/service_grpc.pb.mock.go index 53f4338dbd2..dfc224874b1 100644 --- a/api/adminservicemock/v1/service_grpc.pb.mock.go +++ b/api/adminservicemock/v1/service_grpc.pb.mock.go @@ -383,6 +383,26 @@ func (mr *MockAdminServiceClientMockRecorder) GetDLQTasks(ctx, in any, opts ...a return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLQTasks", reflect.TypeOf((*MockAdminServiceClient)(nil).GetDLQTasks), varargs...) } +// GetDynamicConfigurations mocks base method. +func (m *MockAdminServiceClient) GetDynamicConfigurations(ctx context.Context, in *adminservice.GetDynamicConfigurationsRequest, opts ...grpc.CallOption) (*adminservice.GetDynamicConfigurationsResponse, error) { + m.ctrl.T.Helper() + varargs := []any{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetDynamicConfigurations", varargs...) + ret0, _ := ret[0].(*adminservice.GetDynamicConfigurationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDynamicConfigurations indicates an expected call of GetDynamicConfigurations. +func (mr *MockAdminServiceClientMockRecorder) GetDynamicConfigurations(ctx, in any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDynamicConfigurations", reflect.TypeOf((*MockAdminServiceClient)(nil).GetDynamicConfigurations), varargs...) +} + // GetNamespace mocks base method. func (m *MockAdminServiceClient) GetNamespace(ctx context.Context, in *adminservice.GetNamespaceRequest, opts ...grpc.CallOption) (*adminservice.GetNamespaceResponse, error) { m.ctrl.T.Helper() @@ -1320,6 +1340,21 @@ func (mr *MockAdminServiceServerMockRecorder) GetDLQTasks(arg0, arg1 any) *gomoc return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLQTasks", reflect.TypeOf((*MockAdminServiceServer)(nil).GetDLQTasks), arg0, arg1) } +// GetDynamicConfigurations mocks base method. +func (m *MockAdminServiceServer) GetDynamicConfigurations(arg0 context.Context, arg1 *adminservice.GetDynamicConfigurationsRequest) (*adminservice.GetDynamicConfigurationsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDynamicConfigurations", arg0, arg1) + ret0, _ := ret[0].(*adminservice.GetDynamicConfigurationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDynamicConfigurations indicates an expected call of GetDynamicConfigurations. +func (mr *MockAdminServiceServerMockRecorder) GetDynamicConfigurations(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDynamicConfigurations", reflect.TypeOf((*MockAdminServiceServer)(nil).GetDynamicConfigurations), arg0, arg1) +} + // GetNamespace mocks base method. func (m *MockAdminServiceServer) GetNamespace(arg0 context.Context, arg1 *adminservice.GetNamespaceRequest) (*adminservice.GetNamespaceResponse, error) { m.ctrl.T.Helper() diff --git a/api/deployment/v1/message.pb.go b/api/deployment/v1/message.pb.go index c7b2b20a64c..302f37156c7 100644 --- a/api/deployment/v1/message.pb.go +++ b/api/deployment/v1/message.pb.go @@ -93,15 +93,11 @@ type DeploymentVersionData struct { // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. RoutingUpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=routing_update_time,json=routingUpdateTime,proto3" json:"routing_update_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not current. CurrentSinceTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=current_since_time,json=currentSinceTime,proto3" json:"current_since_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. RampingSinceTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=ramping_since_time,json=rampingSinceTime,proto3" json:"ramping_since_time,omitempty"` // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). @@ -239,15 +235,11 @@ type VersionLocalState struct { // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. RoutingUpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=routing_update_time,json=routingUpdateTime,proto3" json:"routing_update_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not current. CurrentSinceTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=current_since_time,json=currentSinceTime,proto3" json:"current_since_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. RampingSinceTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=ramping_since_time,json=rampingSinceTime,proto3" json:"ramping_since_time,omitempty"` // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). @@ -260,16 +252,16 @@ type VersionLocalState struct { // Helps user determine when it is safe to decommission the workers of this // Version. Not present when version is current or ramping. // Current limitations: - // - Not supported for Unversioned mode. - // - Periodically refreshed, may have delays up to few minutes (consult the - // last_checked_time value). - // - Refreshed only when version is not current or ramping AND the status is not - // "drained" yet. - // - Once the status is changed to "drained", it is not changed until the Version - // becomes Current or Ramping again, at which time the drainage info is cleared. - // This means if the Version is "drained" but new workflows are sent to it via - // Pinned Versioning Override, the status does not account for those Pinned-override - // executions and remains "drained". + // - Not supported for Unversioned mode. + // - Periodically refreshed, may have delays up to few minutes (consult the + // last_checked_time value). + // - Refreshed only when version is not current or ramping AND the status is not + // "drained" yet. + // - Once the status is changed to "drained", it is not changed until the Version + // becomes Current or Ramping again, at which time the drainage info is cleared. + // This means if the Version is "drained" but new workflows are sent to it via + // Pinned Versioning Override, the status does not account for those Pinned-override + // executions and remains "drained". DrainageInfo *v11.VersionDrainageInfo `protobuf:"bytes,7,opt,name=drainage_info,json=drainageInfo,proto3" json:"drainage_info,omitempty"` // Arbitrary user-provided metadata attached to this version. Metadata *v11.VersionMetadata `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -741,15 +733,11 @@ type WorkerDeploymentVersionSummary struct { // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. RoutingUpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=routing_update_time,json=routingUpdateTime,proto3" json:"routing_update_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not current. CurrentSinceTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=current_since_time,json=currentSinceTime,proto3" json:"current_since_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. RampingSinceTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=ramping_since_time,json=rampingSinceTime,proto3" json:"ramping_since_time,omitempty"` // Timestamp when this version first became current or ramping. diff --git a/api/dynamicconfig/v1/message.go-helpers.pb.go b/api/dynamicconfig/v1/message.go-helpers.pb.go new file mode 100644 index 00000000000..6a98dd1ee88 --- /dev/null +++ b/api/dynamicconfig/v1/message.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package dynamicconfig + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type Constraints to the protobuf v3 wire format +func (val *Constraints) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Constraints from the protobuf v3 wire format +func (val *Constraints) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Constraints) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Constraints 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 *Constraints) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Constraints + switch t := that.(type) { + case *Constraints: + that1 = t + case Constraints: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ConstrainedValue to the protobuf v3 wire format +func (val *ConstrainedValue) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ConstrainedValue from the protobuf v3 wire format +func (val *ConstrainedValue) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ConstrainedValue) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ConstrainedValue 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 *ConstrainedValue) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ConstrainedValue + switch t := that.(type) { + case *ConstrainedValue: + that1 = t + case ConstrainedValue: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ConstrainedValues to the protobuf v3 wire format +func (val *ConstrainedValues) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ConstrainedValues from the protobuf v3 wire format +func (val *ConstrainedValues) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ConstrainedValues) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ConstrainedValues 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 *ConstrainedValues) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ConstrainedValues + switch t := that.(type) { + case *ConstrainedValues: + that1 = t + case ConstrainedValues: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api/dynamicconfig/v1/message.pb.go b/api/dynamicconfig/v1/message.pb.go new file mode 100644 index 00000000000..184a99cc84f --- /dev/null +++ b/api/dynamicconfig/v1/message.pb.go @@ -0,0 +1,285 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/server/api/dynamicconfig/v1/message.proto + +package dynamicconfig + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Constraints struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,2,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + TaskQueueName string `protobuf:"bytes,3,opt,name=task_queue_name,json=taskQueueName,proto3" json:"task_queue_name,omitempty"` + TaskQueueType int32 `protobuf:"varint,4,opt,name=task_queue_type,json=taskQueueType,proto3" json:"task_queue_type,omitempty"` + ShardId int32 `protobuf:"varint,5,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` + TaskType int32 `protobuf:"varint,6,opt,name=task_type,json=taskType,proto3" json:"task_type,omitempty"` + Destination string `protobuf:"bytes,7,opt,name=destination,proto3" json:"destination,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Constraints) Reset() { + *x = Constraints{} + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Constraints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Constraints) ProtoMessage() {} + +func (x *Constraints) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[0] + 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 Constraints.ProtoReflect.Descriptor instead. +func (*Constraints) Descriptor() ([]byte, []int) { + return file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *Constraints) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *Constraints) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *Constraints) GetTaskQueueName() string { + if x != nil { + return x.TaskQueueName + } + return "" +} + +func (x *Constraints) GetTaskQueueType() int32 { + if x != nil { + return x.TaskQueueType + } + return 0 +} + +func (x *Constraints) GetShardId() int32 { + if x != nil { + return x.ShardId + } + return 0 +} + +func (x *Constraints) GetTaskType() int32 { + if x != nil { + return x.TaskType + } + return 0 +} + +func (x *Constraints) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +type ConstrainedValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + Constraints *Constraints `protobuf:"bytes,1,opt,name=constraints,proto3" json:"constraints,omitempty"` + Value *structpb.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConstrainedValue) Reset() { + *x = ConstrainedValue{} + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConstrainedValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConstrainedValue) ProtoMessage() {} + +func (x *ConstrainedValue) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[1] + 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 ConstrainedValue.ProtoReflect.Descriptor instead. +func (*ConstrainedValue) Descriptor() ([]byte, []int) { + return file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *ConstrainedValue) GetConstraints() *Constraints { + if x != nil { + return x.Constraints + } + return nil +} + +func (x *ConstrainedValue) GetValue() *structpb.Struct { + if x != nil { + return x.Value + } + return nil +} + +type ConstrainedValues struct { + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ConstrainedValue `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConstrainedValues) Reset() { + *x = ConstrainedValues{} + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConstrainedValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConstrainedValues) ProtoMessage() {} + +func (x *ConstrainedValues) ProtoReflect() protoreflect.Message { + mi := &file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes[2] + 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 ConstrainedValues.ProtoReflect.Descriptor instead. +func (*ConstrainedValues) Descriptor() ([]byte, []int) { + return file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *ConstrainedValues) GetItems() []*ConstrainedValue { + if x != nil { + return x.Items + } + return nil +} + +var File_temporal_server_api_dynamicconfig_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_server_api_dynamicconfig_v1_message_proto_rawDesc = "" + + "\n" + + "2temporal/server/api/dynamicconfig/v1/message.proto\x12$temporal.server.api.dynamicconfig.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xf8\x01\n" + + "\vConstraints\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12&\n" + + "\x0ftask_queue_name\x18\x03 \x01(\tR\rtaskQueueName\x12&\n" + + "\x0ftask_queue_type\x18\x04 \x01(\x05R\rtaskQueueType\x12\x19\n" + + "\bshard_id\x18\x05 \x01(\x05R\ashardId\x12\x1b\n" + + "\ttask_type\x18\x06 \x01(\x05R\btaskType\x12 \n" + + "\vdestination\x18\a \x01(\tR\vdestination\"\x96\x01\n" + + "\x10ConstrainedValue\x12S\n" + + "\vconstraints\x18\x01 \x01(\v21.temporal.server.api.dynamicconfig.v1.ConstraintsR\vconstraints\x12-\n" + + "\x05value\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x05value\"a\n" + + "\x11ConstrainedValues\x12L\n" + + "\x05items\x18\x01 \x03(\v26.temporal.server.api.dynamicconfig.v1.ConstrainedValueR\x05itemsB:Z8go.temporal.io/server/api/dynamicconfig/v1;dynamicconfigb\x06proto3" + +var ( + file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescOnce sync.Once + file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescData []byte +) + +func file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescGZIP() []byte { + file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_server_api_dynamicconfig_v1_message_proto_rawDesc), len(file_temporal_server_api_dynamicconfig_v1_message_proto_rawDesc))) + }) + return file_temporal_server_api_dynamicconfig_v1_message_proto_rawDescData +} + +var file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_server_api_dynamicconfig_v1_message_proto_goTypes = []any{ + (*Constraints)(nil), // 0: temporal.server.api.dynamicconfig.v1.Constraints + (*ConstrainedValue)(nil), // 1: temporal.server.api.dynamicconfig.v1.ConstrainedValue + (*ConstrainedValues)(nil), // 2: temporal.server.api.dynamicconfig.v1.ConstrainedValues + (*structpb.Struct)(nil), // 3: google.protobuf.Struct +} +var file_temporal_server_api_dynamicconfig_v1_message_proto_depIdxs = []int32{ + 0, // 0: temporal.server.api.dynamicconfig.v1.ConstrainedValue.constraints:type_name -> temporal.server.api.dynamicconfig.v1.Constraints + 3, // 1: temporal.server.api.dynamicconfig.v1.ConstrainedValue.value:type_name -> google.protobuf.Struct + 1, // 2: temporal.server.api.dynamicconfig.v1.ConstrainedValues.items:type_name -> temporal.server.api.dynamicconfig.v1.ConstrainedValue + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_temporal_server_api_dynamicconfig_v1_message_proto_init() } +func file_temporal_server_api_dynamicconfig_v1_message_proto_init() { + if File_temporal_server_api_dynamicconfig_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_dynamicconfig_v1_message_proto_rawDesc), len(file_temporal_server_api_dynamicconfig_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_server_api_dynamicconfig_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_server_api_dynamicconfig_v1_message_proto_depIdxs, + MessageInfos: file_temporal_server_api_dynamicconfig_v1_message_proto_msgTypes, + }.Build() + File_temporal_server_api_dynamicconfig_v1_message_proto = out.File + file_temporal_server_api_dynamicconfig_v1_message_proto_goTypes = nil + file_temporal_server_api_dynamicconfig_v1_message_proto_depIdxs = nil +} diff --git a/api/historyservice/v1/request_response.pb.go b/api/historyservice/v1/request_response.pb.go index f0b89ea6a3c..7256ef82674 100644 --- a/api/historyservice/v1/request_response.pb.go +++ b/api/historyservice/v1/request_response.pb.go @@ -506,8 +506,7 @@ type GetMutableStateResponse struct { TaskQueue *v110.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` StickyTaskQueue *v110.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) StickyTaskQueueScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=sticky_task_queue_schedule_to_start_timeout,json=stickyTaskQueueScheduleToStartTimeout,proto3" json:"sticky_task_queue_schedule_to_start_timeout,omitempty"` CurrentBranchToken []byte `protobuf:"bytes,13,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` WorkflowState v111.WorkflowExecutionState `protobuf:"varint,15,opt,name=workflow_state,json=workflowState,proto3,enum=temporal.server.api.enums.v1.WorkflowExecutionState" json:"workflow_state,omitempty"` @@ -785,8 +784,7 @@ type PollMutableStateResponse struct { TaskQueue *v110.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` StickyTaskQueue *v110.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) StickyTaskQueueScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=sticky_task_queue_schedule_to_start_timeout,json=stickyTaskQueueScheduleToStartTimeout,proto3" json:"sticky_task_queue_schedule_to_start_timeout,omitempty"` CurrentBranchToken []byte `protobuf:"bytes,12,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` VersionHistories *v18.VersionHistories `protobuf:"bytes,14,opt,name=version_histories,json=versionHistories,proto3" json:"version_histories,omitempty"` @@ -2829,8 +2827,7 @@ type SignalWithStartWorkflowExecutionRequest struct { state protoimpl.MessageState `protogen:"open.v1"` NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "with" is needed here. --) + // aip.dev/not-precedent: "with" is needed here. --) SignalWithStartRequest *v1.SignalWithStartWorkflowExecutionRequest `protobuf:"bytes,2,opt,name=signal_with_start_request,json=signalWithStartRequest,proto3" json:"signal_with_start_request,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/api/historyservice/v1/service_grpc.pb.go b/api/historyservice/v1/service_grpc.pb.go index 369d2357189..2d74c7cecbf 100644 --- a/api/historyservice/v1/service_grpc.pb.go +++ b/api/historyservice/v1/service_grpc.pb.go @@ -168,9 +168,7 @@ type HistoryServiceClient interface { // WorkflowExecutionSignaled event recorded in the history and a workflow task being created for the execution. SignalWorkflowExecution(ctx context.Context, in *SignalWorkflowExecutionRequest, opts ...grpc.CallOption) (*SignalWorkflowExecutionResponse, error) // (-- api-linter: core::0136::prepositions=disabled - // - // aip.dev/not-precedent: "With" is needed here. --) - // + // aip.dev/not-precedent: "With" is needed here. --) // SignalWithStartWorkflowExecution is used to ensure sending a signal event to a workflow execution. // If workflow is running, this results in WorkflowExecutionSignaled event recorded in the history // and a workflow task being created for the execution. @@ -257,9 +255,7 @@ type HistoryServiceClient interface { // GetDLQMessages returns messages from DLQ. GetDLQMessages(ctx context.Context, in *GetDLQMessagesRequest, opts ...grpc.CallOption) (*GetDLQMessagesResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) - // + // aip.dev/not-precedent: --) // PurgeDLQMessages purges messages from DLQ. PurgeDLQMessages(ctx context.Context, in *PurgeDLQMessagesRequest, opts ...grpc.CallOption) (*PurgeDLQMessagesResponse, error) // MergeDLQMessages merges messages from DLQ. @@ -280,12 +276,10 @@ type HistoryServiceClient interface { // visibility manager doesn't support write operations DeleteWorkflowVisibilityRecord(ctx context.Context, in *DeleteWorkflowVisibilityRecordRequest, opts ...grpc.CallOption) (*DeleteWorkflowVisibilityRecordResponse, error) // (-- api-linter: core::0134=disabled - // - // aip.dev/not-precedent: This service does not follow the update method API --) + // aip.dev/not-precedent: This service does not follow the update method API --) UpdateWorkflowExecution(ctx context.Context, in *UpdateWorkflowExecutionRequest, opts ...grpc.CallOption) (*UpdateWorkflowExecutionResponse, error) // (-- api-linter: core::0134=disabled - // - // aip.dev/not-precedent: This service does not follow the update method API --) + // aip.dev/not-precedent: This service does not follow the update method API --) PollWorkflowExecutionUpdate(ctx context.Context, in *PollWorkflowExecutionUpdateRequest, opts ...grpc.CallOption) (*PollWorkflowExecutionUpdateResponse, error) StreamWorkflowReplicationMessages(ctx context.Context, opts ...grpc.CallOption) (HistoryService_StreamWorkflowReplicationMessagesClient, error) GetWorkflowExecutionHistory(ctx context.Context, in *GetWorkflowExecutionHistoryRequest, opts ...grpc.CallOption) (*GetWorkflowExecutionHistoryResponse, error) @@ -326,14 +320,13 @@ type HistoryServiceClient interface { // Returns a `NotFound` error if there is no pending activity with the provided ID. // // Pausing an activity means: - // - If the activity is currently waiting for a retry or is running and subsequently fails, - // it will not be rescheduled until it is unpause. - // - If the activity is already paused, calling this method will have no effect. - // - If the activity is running and finishes successfully, the activity will be completed. - // - If the activity is running and finishes with failure: - // - if there is no retry left - the activity will be completed. - // - if there are more retries left - the activity will be paused. - // + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpause. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // * if there is no retry left - the activity will be completed. + // * if there are more retries left - the activity will be paused. // For long-running activities: // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. // - The activity should respond to the cancellation accordingly. @@ -361,10 +354,10 @@ type HistoryServiceClient interface { // ResetActivity resets the execution of an activity specified by its ID. // // Resetting an activity means: - // - number of attempts will be reset to 0. - // - activity timeouts will be reset. - // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: - // it will be scheduled immediately (* see 'jitter' flag), + // * number of attempts will be reset to 0. + // * activity timeouts will be reset. + // * if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag), // // Flags: // @@ -1151,9 +1144,7 @@ type HistoryServiceServer interface { // WorkflowExecutionSignaled event recorded in the history and a workflow task being created for the execution. SignalWorkflowExecution(context.Context, *SignalWorkflowExecutionRequest) (*SignalWorkflowExecutionResponse, error) // (-- api-linter: core::0136::prepositions=disabled - // - // aip.dev/not-precedent: "With" is needed here. --) - // + // aip.dev/not-precedent: "With" is needed here. --) // SignalWithStartWorkflowExecution is used to ensure sending a signal event to a workflow execution. // If workflow is running, this results in WorkflowExecutionSignaled event recorded in the history // and a workflow task being created for the execution. @@ -1240,9 +1231,7 @@ type HistoryServiceServer interface { // GetDLQMessages returns messages from DLQ. GetDLQMessages(context.Context, *GetDLQMessagesRequest) (*GetDLQMessagesResponse, error) // (-- api-linter: core::0165::response-message-name=disabled - // - // aip.dev/not-precedent: --) - // + // aip.dev/not-precedent: --) // PurgeDLQMessages purges messages from DLQ. PurgeDLQMessages(context.Context, *PurgeDLQMessagesRequest) (*PurgeDLQMessagesResponse, error) // MergeDLQMessages merges messages from DLQ. @@ -1263,12 +1252,10 @@ type HistoryServiceServer interface { // visibility manager doesn't support write operations DeleteWorkflowVisibilityRecord(context.Context, *DeleteWorkflowVisibilityRecordRequest) (*DeleteWorkflowVisibilityRecordResponse, error) // (-- api-linter: core::0134=disabled - // - // aip.dev/not-precedent: This service does not follow the update method API --) + // aip.dev/not-precedent: This service does not follow the update method API --) UpdateWorkflowExecution(context.Context, *UpdateWorkflowExecutionRequest) (*UpdateWorkflowExecutionResponse, error) // (-- api-linter: core::0134=disabled - // - // aip.dev/not-precedent: This service does not follow the update method API --) + // aip.dev/not-precedent: This service does not follow the update method API --) PollWorkflowExecutionUpdate(context.Context, *PollWorkflowExecutionUpdateRequest) (*PollWorkflowExecutionUpdateResponse, error) StreamWorkflowReplicationMessages(HistoryService_StreamWorkflowReplicationMessagesServer) error GetWorkflowExecutionHistory(context.Context, *GetWorkflowExecutionHistoryRequest) (*GetWorkflowExecutionHistoryResponseWithRaw, error) @@ -1309,14 +1296,13 @@ type HistoryServiceServer interface { // Returns a `NotFound` error if there is no pending activity with the provided ID. // // Pausing an activity means: - // - If the activity is currently waiting for a retry or is running and subsequently fails, - // it will not be rescheduled until it is unpause. - // - If the activity is already paused, calling this method will have no effect. - // - If the activity is running and finishes successfully, the activity will be completed. - // - If the activity is running and finishes with failure: - // - if there is no retry left - the activity will be completed. - // - if there are more retries left - the activity will be paused. - // + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpause. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // * if there is no retry left - the activity will be completed. + // * if there are more retries left - the activity will be paused. // For long-running activities: // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. // - The activity should respond to the cancellation accordingly. @@ -1344,10 +1330,10 @@ type HistoryServiceServer interface { // ResetActivity resets the execution of an activity specified by its ID. // // Resetting an activity means: - // - number of attempts will be reset to 0. - // - activity timeouts will be reset. - // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: - // it will be scheduled immediately (* see 'jitter' flag), + // * number of attempts will be reset to 0. + // * activity timeouts will be reset. + // * if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag), // // Flags: // diff --git a/api/matchingservice/v1/request_response.pb.go b/api/matchingservice/v1/request_response.pb.go index 48503959c8b..8d263630efb 100644 --- a/api/matchingservice/v1/request_response.pb.go +++ b/api/matchingservice/v1/request_response.pb.go @@ -383,13 +383,11 @@ type PollActivityTaskQueueResponse struct { Input *v11.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` StartedTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` Attempt int32 `protobuf:"varint,11,opt,name=attempt,proto3" json:"attempt,omitempty"` @@ -575,8 +573,7 @@ type AddWorkflowTaskRequest struct { TaskQueue *v14.TaskQueue `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` ScheduledEventId int64 `protobuf:"varint,4,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` Clock *v17.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` // How this task should be directed by matching. (Missing means the default @@ -743,8 +740,7 @@ type AddActivityTaskRequest struct { TaskQueue *v14.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` ScheduledEventId int64 `protobuf:"varint,5,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` Clock *v17.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` // How this task should be directed by matching. (Missing means the default @@ -2376,8 +2372,7 @@ type SyncDeploymentUserDataRequest struct { TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` // Required, unless deprecated fields are used. // (-- api-linter: core::0203::required=disabled - // - // aip.dev/not-precedent: Not following Google API format --) + // 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. @@ -2401,8 +2396,7 @@ type SyncDeploymentUserDataRequest struct { // Optional map of build id to upsert version data. // Ignored if `update_routing_config` is present and has an outdated revision number. // (-- api-linter: core::0203::required=disabled - // - // aip.dev/not-precedent: Not following Google API format --) + // aip.dev/not-precedent: Not following Google API format --) UpsertVersionsData map[string]*v110.WorkerDeploymentVersionData `protobuf:"bytes,11,rep,name=upsert_versions_data,json=upsertVersionsData,proto3" json:"upsert_versions_data,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // List of build ids to forget from task queue. // Ignored if `update_routing_config` is present and has an outdated revision number. @@ -4812,8 +4806,7 @@ type DescribeVersionedTaskQueuesResponse_VersionTaskQueue struct { Type v19.TaskQueueType `protobuf:"varint,2,opt,name=type,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"type,omitempty"` Stats *v14.TaskQueueStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "by" is used to clarify the key. --) + // aip.dev/not-precedent: "by" is used to clarify the key. --) StatsByPriorityKey map[int32]*v14.TaskQueueStats `protobuf:"bytes,4,rep,name=stats_by_priority_key,json=statsByPriorityKey,proto3" json:"stats_by_priority_key,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/api/matchingservice/v1/service_grpc.pb.go b/api/matchingservice/v1/service_grpc.pb.go index c7e786c8e43..16176b64400 100644 --- a/api/matchingservice/v1/service_grpc.pb.go +++ b/api/matchingservice/v1/service_grpc.pb.go @@ -106,33 +106,24 @@ type MatchingServiceClient interface { // ListTaskQueuePartitions returns a map of partitionKey and hostAddress for a task queue. ListTaskQueuePartitions(ctx context.Context, in *ListTaskQueuePartitionsRequest, opts ...grpc.CallOption) (*ListTaskQueuePartitionsResponse, error) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) UpdateWorkerBuildIdCompatibility(ctx context.Context, in *UpdateWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*UpdateWorkerBuildIdCompatibilityResponse, error) GetWorkerBuildIdCompatibility(ctx context.Context, in *GetWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*GetWorkerBuildIdCompatibilityResponse, error) // Fetch user data for a task queue, this request should always be routed to the node holding the root partition of the workflow task queue. GetTaskQueueUserData(ctx context.Context, in *GetTaskQueueUserDataRequest, opts ...grpc.CallOption) (*GetTaskQueueUserDataResponse, error) // Allows updating the Build ID assignment and redirect rules for a given Task Queue. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) UpdateWorkerVersioningRules(ctx context.Context, in *UpdateWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*UpdateWorkerVersioningRulesResponse, error) // Fetches the Build ID assignment and redirect rules for a Task Queue // (-- api-linter: core::0127::resource-name-extraction=disabled - // - // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) // (-- api-linter: core::0131::http-uri-name=disabled - // - // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) GetWorkerVersioningRules(ctx context.Context, in *GetWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*GetWorkerVersioningRulesResponse, error) // This request should always be routed to the node holding the root partition of the workflow task queue. SyncDeploymentUserData(ctx context.Context, in *SyncDeploymentUserDataRequest, opts ...grpc.CallOption) (*SyncDeploymentUserDataResponse, error) @@ -154,12 +145,9 @@ type MatchingServiceClient interface { // All user data updates must first go through the task queue owner using the `UpdateWorkerBuildIdCompatibility` // API. // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) UpdateTaskQueueUserData(ctx context.Context, in *UpdateTaskQueueUserDataRequest, opts ...grpc.CallOption) (*UpdateTaskQueueUserDataResponse, error) // Replicate task queue user data across clusters, must be done via the owning node for updates in namespace. ReplicateTaskQueueUserData(ctx context.Context, in *ReplicateTaskQueueUserDataRequest, opts ...grpc.CallOption) (*ReplicateTaskQueueUserDataResponse, error) @@ -169,31 +157,21 @@ type MatchingServiceClient interface { CheckTaskQueueUserDataPropagation(ctx context.Context, in *CheckTaskQueueUserDataPropagationRequest, opts ...grpc.CallOption) (*CheckTaskQueueUserDataPropagationResponse, error) // Create a Nexus endpoint. // (-- api-linter: core::0133::method-signature=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0133::response-message-name=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0133::http-uri-parent=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) CreateNexusEndpoint(ctx context.Context, in *CreateNexusEndpointRequest, opts ...grpc.CallOption) (*CreateNexusEndpointResponse, error) // Optimistically update a Nexus endpoint based on provided version. // If this request is accepted, the input is considered the "current" state of this service at the time it was // persisted and the updated version is returned. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::request-resource-required=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) UpdateNexusEndpoint(ctx context.Context, in *UpdateNexusEndpointRequest, opts ...grpc.CallOption) (*UpdateNexusEndpointResponse, error) // Delete a service by its name. DeleteNexusEndpoint(ctx context.Context, in *DeleteNexusEndpointRequest, opts ...grpc.CallOption) (*DeleteNexusEndpointResponse, error) @@ -207,16 +185,11 @@ type MatchingServiceClient interface { ListWorkers(ctx context.Context, in *ListWorkersRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) // Set the persisted task queue configuration. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::request-resource-required=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) UpdateTaskQueueConfig(ctx context.Context, in *UpdateTaskQueueConfigRequest, opts ...grpc.CallOption) (*UpdateTaskQueueConfigResponse, error) // DescribeWorker retrieves a worker information in the specified namespace that match the provided instance key. // Returns an error if the namespace or worker doesn't exist. @@ -611,33 +584,24 @@ type MatchingServiceServer interface { // ListTaskQueuePartitions returns a map of partitionKey and hostAddress for a task queue. ListTaskQueuePartitions(context.Context, *ListTaskQueuePartitionsRequest) (*ListTaskQueuePartitionsResponse, error) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateWorkerBuildIdCompatibility RPC doesn't follow Google API format. --) UpdateWorkerBuildIdCompatibility(context.Context, *UpdateWorkerBuildIdCompatibilityRequest) (*UpdateWorkerBuildIdCompatibilityResponse, error) GetWorkerBuildIdCompatibility(context.Context, *GetWorkerBuildIdCompatibilityRequest) (*GetWorkerBuildIdCompatibilityResponse, error) // Fetch user data for a task queue, this request should always be routed to the node holding the root partition of the workflow task queue. GetTaskQueueUserData(context.Context, *GetTaskQueueUserDataRequest) (*GetTaskQueueUserDataResponse, error) // Allows updating the Build ID assignment and redirect rules for a given Task Queue. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) UpdateWorkerVersioningRules(context.Context, *UpdateWorkerVersioningRulesRequest) (*UpdateWorkerVersioningRulesResponse, error) // Fetches the Build ID assignment and redirect rules for a Task Queue // (-- api-linter: core::0127::resource-name-extraction=disabled - // - // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) // (-- api-linter: core::0131::http-uri-name=disabled - // - // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: GetWorkerVersioningRulesRequest RPC doesn't follow Google API format. --) GetWorkerVersioningRules(context.Context, *GetWorkerVersioningRulesRequest) (*GetWorkerVersioningRulesResponse, error) // This request should always be routed to the node holding the root partition of the workflow task queue. SyncDeploymentUserData(context.Context, *SyncDeploymentUserDataRequest) (*SyncDeploymentUserDataResponse, error) @@ -659,12 +623,9 @@ type MatchingServiceServer interface { // All user data updates must first go through the task queue owner using the `UpdateWorkerBuildIdCompatibility` // API. // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateTaskQueueUserData RPC doesn't follow Google API format. --) UpdateTaskQueueUserData(context.Context, *UpdateTaskQueueUserDataRequest) (*UpdateTaskQueueUserDataResponse, error) // Replicate task queue user data across clusters, must be done via the owning node for updates in namespace. ReplicateTaskQueueUserData(context.Context, *ReplicateTaskQueueUserDataRequest) (*ReplicateTaskQueueUserDataResponse, error) @@ -674,31 +635,21 @@ type MatchingServiceServer interface { CheckTaskQueueUserDataPropagation(context.Context, *CheckTaskQueueUserDataPropagationRequest) (*CheckTaskQueueUserDataPropagationResponse, error) // Create a Nexus endpoint. // (-- api-linter: core::0133::method-signature=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0133::response-message-name=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0133::http-uri-parent=disabled - // - // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: CreateNexusEndpoint RPC doesn't follow Google API format. --) CreateNexusEndpoint(context.Context, *CreateNexusEndpointRequest) (*CreateNexusEndpointResponse, error) // Optimistically update a Nexus endpoint based on provided version. // If this request is accepted, the input is considered the "current" state of this service at the time it was // persisted and the updated version is returned. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::request-resource-required=disabled - // - // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateNexusEndpoint RPC doesn't follow Google API format. --) UpdateNexusEndpoint(context.Context, *UpdateNexusEndpointRequest) (*UpdateNexusEndpointResponse, error) // Delete a service by its name. DeleteNexusEndpoint(context.Context, *DeleteNexusEndpointRequest) (*DeleteNexusEndpointResponse, error) @@ -712,16 +663,11 @@ type MatchingServiceServer interface { ListWorkers(context.Context, *ListWorkersRequest) (*ListWorkersResponse, error) // Set the persisted task queue configuration. // (-- api-linter: core::0134::method-signature=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::response-message-name=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) - // + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) // (-- api-linter: core::0134::request-resource-required=disabled - // - // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) + // aip.dev/not-precedent: UpdateTaskQueueConfig RPC doesn't follow Google API format. --) UpdateTaskQueueConfig(context.Context, *UpdateTaskQueueConfigRequest) (*UpdateTaskQueueConfigResponse, error) // DescribeWorker retrieves a worker information in the specified namespace that match the provided instance key. // Returns an error if the namespace or worker doesn't exist. diff --git a/api/namespace/v1/message.pb.go b/api/namespace/v1/message.pb.go index b3162fabfb3..8ed132fa909 100644 --- a/api/namespace/v1/message.pb.go +++ b/api/namespace/v1/message.pb.go @@ -25,12 +25,10 @@ const ( type NamespaceCacheInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "in" and "by" are needed here. --) + // aip.dev/not-precedent: "in" and "by" are needed here. --) ItemsInCacheByIdCount int64 `protobuf:"varint,1,opt,name=items_in_cache_by_id_count,json=itemsInCacheByIdCount,proto3" json:"items_in_cache_by_id_count,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "in" and "by" are needed here. --) + // aip.dev/not-precedent: "in" and "by" are needed here. --) ItemsInCacheByNameCount int64 `protobuf:"varint,2,opt,name=items_in_cache_by_name_count,json=itemsInCacheByNameCount,proto3" json:"items_in_cache_by_name_count,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/api/persistence/v1/executions.pb.go b/api/persistence/v1/executions.pb.go index fa980263350..da13df2e748 100644 --- a/api/persistence/v1/executions.pb.go +++ b/api/persistence/v1/executions.pb.go @@ -41,8 +41,7 @@ type ShardInfo struct { RangeId int64 `protobuf:"varint,2,opt,name=range_id,json=rangeId,proto3" json:"range_id,omitempty"` Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "since" is needed here. --) + // aip.dev/not-precedent: "since" is needed here. --) StolenSinceRenew int32 `protobuf:"varint,6,opt,name=stolen_since_renew,json=stolenSinceRenew,proto3" json:"stolen_since_renew,omitempty"` UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` ReplicationDlqAckLevel map[string]int64 `protobuf:"bytes,13,rep,name=replication_dlq_ack_level,json=replicationDlqAckLevel,proto3" json:"replication_dlq_ack_level,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` @@ -182,8 +181,7 @@ type WorkflowExecutionInfo struct { CancelRequestId string `protobuf:"bytes,32,opt,name=cancel_request_id,json=cancelRequestId,proto3" json:"cancel_request_id,omitempty"` StickyTaskQueue string `protobuf:"bytes,33,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) StickyScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,34,opt,name=sticky_schedule_to_start_timeout,json=stickyScheduleToStartTimeout,proto3" json:"sticky_schedule_to_start_timeout,omitempty"` Attempt int32 `protobuf:"varint,35,opt,name=attempt,proto3" json:"attempt,omitempty"` RetryInitialInterval *durationpb.Duration `protobuf:"bytes,36,opt,name=retry_initial_interval,json=retryInitialInterval,proto3" json:"retry_initial_interval,omitempty"` @@ -265,8 +263,7 @@ type WorkflowExecutionInfo struct { TransitionHistory []*VersionedTransition `protobuf:"bytes,80,rep,name=transition_history,json=transitionHistory,proto3" json:"transition_history,omitempty"` // Map of state machine type to map of machine by ID. // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "by" is used to clarify the keys and values. --) + // aip.dev/not-precedent: "by" is used to clarify the keys and values. --) SubStateMachinesByType map[string]*StateMachineMap `protobuf:"bytes,81,rep,name=sub_state_machines_by_type,json=subStateMachinesByType,proto3" json:"sub_state_machines_by_type,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // This field is for tracking if the workflow execution timer task is created or not. // We don't need this field if we always create the execution timer task when the first @@ -295,12 +292,9 @@ type WorkflowExecutionInfo struct { // NOTE: Task status is cluster specific information, so when replicating mutable state, this field needs to be // sanitized. // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: Ignoring api-linter rules for clarity --) - // + // aip.dev/not-precedent: Ignoring api-linter rules for clarity --) // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: This is a vector clock, not a timestamp --) + // aip.dev/not-precedent: This is a vector clock, not a timestamp --) TaskGenerationShardClockTimestamp int64 `protobuf:"varint,91,opt,name=task_generation_shard_clock_timestamp,json=taskGenerationShardClockTimestamp,proto3" json:"task_generation_shard_clock_timestamp,omitempty"` WorkflowTaskLastUpdateVersionedTransition *VersionedTransition `protobuf:"bytes,92,opt,name=workflow_task_last_update_versioned_transition,json=workflowTaskLastUpdateVersionedTransition,proto3" json:"workflow_task_last_update_versioned_transition,omitempty"` VisibilityLastUpdateVersionedTransition *VersionedTransition `protobuf:"bytes,93,opt,name=visibility_last_update_versioned_transition,json=visibilityLastUpdateVersionedTransition,proto3" json:"visibility_last_update_versioned_transition,omitempty"` @@ -314,8 +308,7 @@ type WorkflowExecutionInfo struct { // unversioned workers to versioned ones. // Note: Deployment objects inside versioning info are immutable, never change their fields. // (-- api-linter: core::0203::immutable=disabled - // - // aip.dev/not-precedent: field_behavior annotation is not yet used in this repo --) + // aip.dev/not-precedent: field_behavior annotation is not yet used in this repo --) VersioningInfo *v11.WorkflowExecutionVersioningInfo `protobuf:"bytes,98,opt,name=versioning_info,json=versioningInfo,proto3" json:"versioning_info,omitempty"` // This is the run id when the WorkflowExecutionStarted event was written. // A workflow reset changes the execution run_id, but preserves this field so that we have a reference to the original workflow execution that was reset. @@ -1309,8 +1302,7 @@ type TransferTaskInfo struct { TaskId int64 `protobuf:"varint,12,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` VisibilityTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=visibility_time,json=visibilityTime,proto3" json:"visibility_time,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "after" is used to indicate sequence of actions. --) + // aip.dev/not-precedent: "after" is used to indicate sequence of actions. --) DeleteAfterClose bool `protobuf:"varint,15,opt,name=delete_after_close,json=deleteAfterClose,proto3" json:"delete_after_close,omitempty"` // Types that are valid to be assigned to TaskDetails: // @@ -2381,16 +2373,13 @@ type ActivityInfo struct { ActivityId string `protobuf:"bytes,8,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` RequestId string `protobuf:"bytes,9,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // aip.dev/not-precedent: "to" is used to indicate interval. --) StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,13,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` CancelRequested bool `protobuf:"varint,14,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` @@ -3605,8 +3594,7 @@ type NexusOperationInfo struct { // Schedule-to-close timeout for this operation. // This is the only timeout settable by a workflow. // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "since" is needed here. --) + // aip.dev/not-precedent: "since" is needed here. --) ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` // The time when the operation was scheduled. ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` @@ -4228,8 +4216,7 @@ type Callback_Nexus struct { state protoimpl.MessageState `protogen:"open.v1"` // Callback URL. // (-- api-linter: core::0140::uri=disabled - // - // aip.dev/not-precedent: Not respecting aip here. --) + // aip.dev/not-precedent: Not respecting aip here. --) Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // Header to attach to callback request. Header map[string]string `protobuf:"bytes,2,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` diff --git a/api/persistence/v1/hsm.pb.go b/api/persistence/v1/hsm.pb.go index 741d43af834..d406b0eaf22 100644 --- a/api/persistence/v1/hsm.pb.go +++ b/api/persistence/v1/hsm.pb.go @@ -126,8 +126,7 @@ func (x *StateMachineNode) GetTransitionCount() int64 { type StateMachineMap struct { state protoimpl.MessageState `protogen:"open.v1"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "by" is used to clarify the keys and values. --) + // aip.dev/not-precedent: "by" is used to clarify the keys and values. --) MachinesById map[string]*StateMachineNode `protobuf:"bytes,1,rep,name=machines_by_id,json=machinesById,proto3" json:"machines_by_id,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -393,8 +392,7 @@ type StateMachineTimerGroup struct { Infos []*StateMachineTaskInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"` // When this timer should be fired. // (-- api-linter: core::0142::time-field-names=disabled - // - // aip.dev/not-precedent: Ignoring lint rules. --) + // aip.dev/not-precedent: Ignoring lint rules. --) Deadline *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=deadline,proto3" json:"deadline,omitempty"` // Whether or not a task was put in the queue for this group's deadline. Scheduled bool `protobuf:"varint,3,opt,name=scheduled,proto3" json:"scheduled,omitempty"` diff --git a/api/persistence/v1/nexus.pb.go b/api/persistence/v1/nexus.pb.go index 2b36726b772..d18b758af74 100644 --- a/api/persistence/v1/nexus.pb.go +++ b/api/persistence/v1/nexus.pb.go @@ -187,8 +187,7 @@ type NexusEndpoint struct { Spec *NexusEndpointSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` // The date and time when the endpoint was created. // (-- api-linter: core::0142::time-field-names=disabled - // - // aip.dev/not-precedent: Not following linter rules. --) + // aip.dev/not-precedent: Not following linter rules. --) CreatedTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -368,8 +367,7 @@ type NexusEndpointTarget_External struct { state protoimpl.MessageState `protogen:"open.v1"` // URL to call. // (-- api-linter: core::0140::uri=disabled - // - // aip.dev/not-precedent: Not following linter rules. --) + // aip.dev/not-precedent: Not following linter rules. --) Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/api/persistence/v1/queues.pb.go b/api/persistence/v1/queues.pb.go index 8f9a46243e3..d8217d9ab6f 100644 --- a/api/persistence/v1/queues.pb.go +++ b/api/persistence/v1/queues.pb.go @@ -376,9 +376,7 @@ type QueuePartition struct { state protoimpl.MessageState `protogen:"open.v1"` // min_message_id is less than or equal to the id of every message in the queue. The min_message_id is mainly used to // skip over tombstones in Cassandra: let's say we deleted the first 1K messages from a queue with 1.1K messages. If - // - // an operator asked for the first 100 messages, without the min_message_id, we would have to scan over the 1K - // + // an operator asked for the first 100 messages, without the min_message_id, we would have to scan over the 1K // tombstone rows before we could return the 100 messages. With the min_message_id, we can skip over all of the // tombstones by specifying message_id >= queue.min_message_id. Note: it is possible for this to be less than the id // of the lowest message in the queue temporarily because we delete messages before we update the queue metadata. diff --git a/api/persistence/v1/task_queues.pb.go b/api/persistence/v1/task_queues.pb.go index 81d9db8a77c..94832474c54 100644 --- a/api/persistence/v1/task_queues.pb.go +++ b/api/persistence/v1/task_queues.pb.go @@ -93,13 +93,11 @@ type BuildId struct { State BuildId_State `protobuf:"varint,2,opt,name=state,proto3,enum=temporal.server.api.persistence.v1.BuildId_State" json:"state,omitempty"` // HLC timestamp representing when the state was updated or the when build ID was originally inserted. // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) StateUpdateTimestamp *v1.HybridLogicalClock `protobuf:"bytes,3,opt,name=state_update_timestamp,json=stateUpdateTimestamp,proto3" json:"state_update_timestamp,omitempty"` // HLC timestamp representing when this build ID was last made default in its version set. // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) BecameDefaultTimestamp *v1.HybridLogicalClock `protobuf:"bytes,4,opt,name=became_default_timestamp,json=becameDefaultTimestamp,proto3" json:"became_default_timestamp,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -169,12 +167,11 @@ type CompatibleVersionSet struct { // Set IDs are used internally by matching. // A set typically has one set ID and extra care is taken to enforce this. // In some situations, including: - // - Replication race between task queue user data and history events - // - Replication split-brain + later merge - // - Delayed user data propagation between partitions - // - Cross-task-queue activities/child workflows/CAN where the user has not set up parallel - // versioning data - // + // - Replication race between task queue user data and history events + // - Replication split-brain + later merge + // - Delayed user data propagation between partitions + // - Cross-task-queue activities/child workflows/CAN where the user has not set up parallel + // versioning data // we have to guess the set id for a build ID. If that happens, and then the build ID is // discovered to be in a different set, then the sets will be merged and both (or more) // build ids will be preserved, so that we don't lose tasks. @@ -185,8 +182,7 @@ type CompatibleVersionSet struct { BuildIds []*BuildId `protobuf:"bytes,2,rep,name=build_ids,json=buildIds,proto3" json:"build_ids,omitempty"` // HLC timestamp representing when this set was last made the default for the queue. // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) BecameDefaultTimestamp *v1.HybridLogicalClock `protobuf:"bytes,4,opt,name=became_default_timestamp,json=becameDefaultTimestamp,proto3" json:"became_default_timestamp,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -247,14 +243,11 @@ type AssignmentRule struct { state protoimpl.MessageState `protogen:"open.v1"` Rule *v11.BuildIdAssignmentRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) CreateTimestamp *v1.HybridLogicalClock `protobuf:"bytes,2,opt,name=create_timestamp,json=createTimestamp,proto3" json:"create_timestamp,omitempty"` - // when delete_timestamp is present the rule should be treated as deleted - // + // when delete_timestamp is present the rule should be treated as deleted // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) DeleteTimestamp *v1.HybridLogicalClock `protobuf:"bytes,3,opt,name=delete_timestamp,json=deleteTimestamp,proto3" json:"delete_timestamp,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -315,14 +308,11 @@ type RedirectRule struct { state protoimpl.MessageState `protogen:"open.v1"` Rule *v11.CompatibleBuildIdRedirectRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) CreateTimestamp *v1.HybridLogicalClock `protobuf:"bytes,2,opt,name=create_timestamp,json=createTimestamp,proto3" json:"create_timestamp,omitempty"` - // when delete_timestamp is present the rule should be treated as deleted - // + // when delete_timestamp is present the rule should be treated as deleted // (-- api-linter: core::0142::time-field-type=disabled - // - // aip.dev/not-precedent: Using HLC instead of wall clock. --) + // aip.dev/not-precedent: Using HLC instead of wall clock. --) DeleteTimestamp *v1.HybridLogicalClock `protobuf:"bytes,3,opt,name=delete_timestamp,json=deleteTimestamp,proto3" json:"delete_timestamp,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/api/taskqueue/v1/message.pb.go b/api/taskqueue/v1/message.pb.go index e1a32c77bd4..0f52a367517 100644 --- a/api/taskqueue/v1/message.pb.go +++ b/api/taskqueue/v1/message.pb.go @@ -380,8 +380,7 @@ type PhysicalTaskQueueInfo struct { InternalTaskQueueStatus []*InternalTaskQueueStatus `protobuf:"bytes,3,rep,name=internal_task_queue_status,json=internalTaskQueueStatus,proto3" json:"internal_task_queue_status,omitempty"` TaskQueueStats *v13.TaskQueueStats `protobuf:"bytes,2,opt,name=task_queue_stats,json=taskQueueStats,proto3" json:"task_queue_stats,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // - // aip.dev/not-precedent: "by" is used to clarify the keys. --) + // aip.dev/not-precedent: "by" is used to clarify the keys. --) TaskQueueStatsByPriorityKey map[int32]*v13.TaskQueueStats `protobuf:"bytes,4,rep,name=task_queue_stats_by_priority_key,json=taskQueueStatsByPriorityKey,proto3" json:"task_queue_stats_by_priority_key,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/chasm/lib/callback/gen/callbackpb/v1/message.pb.go b/chasm/lib/callback/gen/callbackpb/v1/message.pb.go index d998ef3fc8f..cf428eaa384 100644 --- a/chasm/lib/callback/gen/callbackpb/v1/message.pb.go +++ b/chasm/lib/callback/gen/callbackpb/v1/message.pb.go @@ -332,8 +332,7 @@ type Callback_Nexus struct { state protoimpl.MessageState `protogen:"open.v1"` // Callback URL. // (-- api-linter: core::0140::uri=disabled - // - // aip.dev/not-precedent: Not respecting aip here. --) + // aip.dev/not-precedent: Not respecting aip here. --) Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // Header to attach to callback request. Header map[string]string `protobuf:"bytes,2,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` diff --git a/client/admin/client_gen.go b/client/admin/client_gen.go index 942e6769004..17cc65cc291 100644 --- a/client/admin/client_gen.go +++ b/client/admin/client_gen.go @@ -179,6 +179,16 @@ func (c *clientImpl) GetDLQTasks( return c.client.GetDLQTasks(ctx, request, opts...) } +func (c *clientImpl) GetDynamicConfigurations( + ctx context.Context, + request *adminservice.GetDynamicConfigurationsRequest, + opts ...grpc.CallOption, +) (*adminservice.GetDynamicConfigurationsResponse, error) { + ctx, cancel := c.createContext(ctx) + defer cancel() + return c.client.GetDynamicConfigurations(ctx, request, opts...) +} + func (c *clientImpl) GetNamespace( ctx context.Context, request *adminservice.GetNamespaceRequest, diff --git a/client/admin/metric_client_gen.go b/client/admin/metric_client_gen.go index 20a75221a9a..ef493e33ede 100644 --- a/client/admin/metric_client_gen.go +++ b/client/admin/metric_client_gen.go @@ -247,6 +247,20 @@ func (c *metricClient) GetDLQTasks( return c.client.GetDLQTasks(ctx, request, opts...) } +func (c *metricClient) GetDynamicConfigurations( + ctx context.Context, + request *adminservice.GetDynamicConfigurationsRequest, + opts ...grpc.CallOption, +) (_ *adminservice.GetDynamicConfigurationsResponse, retError error) { + + metricsHandler, startTime := c.startMetricsRecording(ctx, "AdminClientGetDynamicConfigurations") + defer func() { + c.finishMetricsRecording(metricsHandler, startTime, retError) + }() + + return c.client.GetDynamicConfigurations(ctx, request, opts...) +} + func (c *metricClient) GetNamespace( ctx context.Context, request *adminservice.GetNamespaceRequest, diff --git a/client/admin/retryable_client_gen.go b/client/admin/retryable_client_gen.go index 63d520f2468..1b448cce2f4 100644 --- a/client/admin/retryable_client_gen.go +++ b/client/admin/retryable_client_gen.go @@ -266,6 +266,21 @@ func (c *retryableClient) GetDLQTasks( return resp, err } +func (c *retryableClient) GetDynamicConfigurations( + ctx context.Context, + request *adminservice.GetDynamicConfigurationsRequest, + opts ...grpc.CallOption, +) (*adminservice.GetDynamicConfigurationsResponse, error) { + var resp *adminservice.GetDynamicConfigurationsResponse + op := func(ctx context.Context) error { + var err error + resp, err = c.client.GetDynamicConfigurations(ctx, request, opts...) + return err + } + err := backoff.ThrottleRetryContext(ctx, op, c.policy, c.isRetryable) + return resp, err +} + func (c *retryableClient) GetNamespace( ctx context.Context, request *adminservice.GetNamespaceRequest, diff --git a/cmd/tools/gendynamicconfig/dynamic_config.tmpl b/cmd/tools/gendynamicconfig/dynamic_config.tmpl index 26ae30e47de..d47a02183c2 100644 --- a/cmd/tools/gendynamicconfig/dynamic_config.tmpl +++ b/cmd/tools/gendynamicconfig/dynamic_config.tmpl @@ -75,6 +75,9 @@ func (s {{$P.Name}}TypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s {{$P.Name}}TypedSetting[T]) DefaultValue() any { + return s.def +} func (s {{$P.Name}}TypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s {{$P.Name}}TypedConstrainedDefaultSetting[T]) Precedence() Precedence { return Precedence{{$P.Name}} } @@ -82,6 +85,9 @@ func (s {{$P.Name}}TypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s {{$P.Name}}TypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s {{$P.Name}}TypedSetting[T]) WithDefault(v T) {{$P.Name}}TypedSetting[T] { newS := s diff --git a/common/dynamicconfig/collection.go b/common/dynamicconfig/collection.go index aa11b70f771..7bb8845e4e7 100644 --- a/common/dynamicconfig/collection.go +++ b/common/dynamicconfig/collection.go @@ -161,6 +161,10 @@ func (c *Collection) GetPingChecks() []pingable.Check { } } +func (c *Collection) GetClient() Client { + return c.client +} + func (c *Collection) pollForChanges(ctx context.Context) error { interval := DynamicConfigSubscriptionPollInterval.Get(c) for ctx.Err() == nil { diff --git a/common/dynamicconfig/file_based_client.go b/common/dynamicconfig/file_based_client.go index d6671a9b2be..21dc120772a 100644 --- a/common/dynamicconfig/file_based_client.go +++ b/common/dynamicconfig/file_based_client.go @@ -228,6 +228,7 @@ func loadFile(contents []byte) (configValueMap, *LoadResult) { precedence = setting.Precedence() } + var hasDefaultConstraint bool cvs := make([]ConstrainedValue, len(yamlCV)) for i, cv := range yamlCV { // yaml will unmarshal map into map[interface{}]interface{} instead of map[string]interface{} @@ -248,6 +249,16 @@ func loadFile(contents []byte) (configValueMap, *LoadResult) { cvs[i].Value = val cvs[i].Constraints = convertYamlConstraints(key, cv.Constraints, precedence, lr) + + // check for default value + if cvs[i].Constraints == (Constraints{}) { + hasDefaultConstraint = true + } + } + // add default value if not present + if !hasDefaultConstraint { + defaultConstraint := GetDefaultValueForKey(Key(key)) + cvs = append(cvs, defaultConstraint) } newValues[strings.ToLower(key)] = cvs } diff --git a/common/dynamicconfig/registry.go b/common/dynamicconfig/registry.go index 4d495af78fb..f9c8ef1ed2e 100644 --- a/common/dynamicconfig/registry.go +++ b/common/dynamicconfig/registry.go @@ -17,6 +17,14 @@ var ( globalRegistry registry ) +func GetDefaultValueForKey(k Key) ConstrainedValue { + s := queryRegistry(k) + return ConstrainedValue{ + Constraints: Constraints{}, + Value: s.DefaultValue(), + } +} + func register(s GenericSetting) { if globalRegistry.queried.Load() { panic("dynamicconfig.New*Setting must only be called from static initializers") diff --git a/common/dynamicconfig/setting.go b/common/dynamicconfig/setting.go index 00dc9f54b53..e2369da799c 100644 --- a/common/dynamicconfig/setting.go +++ b/common/dynamicconfig/setting.go @@ -34,6 +34,7 @@ type ( Key() Key Precedence() Precedence Validate(v any) error + DefaultValue() any // for internal use: dispatchUpdate(*Collection, any, []ConstrainedValue) diff --git a/common/dynamicconfig/setting_gen.go b/common/dynamicconfig/setting_gen.go index 017d11fe48b..98fc769cb13 100644 --- a/common/dynamicconfig/setting_gen.go +++ b/common/dynamicconfig/setting_gen.go @@ -787,6 +787,9 @@ func (s GlobalTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s GlobalTypedSetting[T]) DefaultValue() any { + return s.def +} func (s GlobalTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s GlobalTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceGlobal } @@ -794,6 +797,9 @@ func (s GlobalTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s GlobalTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s GlobalTypedSetting[T]) WithDefault(v T) GlobalTypedSetting[T] { newS := s @@ -923,6 +929,9 @@ func (s NamespaceTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s NamespaceTypedSetting[T]) DefaultValue() any { + return s.def +} func (s NamespaceTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s NamespaceTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceNamespace } @@ -930,6 +939,9 @@ func (s NamespaceTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s NamespaceTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s NamespaceTypedSetting[T]) WithDefault(v T) NamespaceTypedSetting[T] { newS := s @@ -1059,6 +1071,9 @@ func (s NamespaceIDTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s NamespaceIDTypedSetting[T]) DefaultValue() any { + return s.def +} func (s NamespaceIDTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s NamespaceIDTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceNamespaceID } @@ -1066,6 +1081,9 @@ func (s NamespaceIDTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s NamespaceIDTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s NamespaceIDTypedSetting[T]) WithDefault(v T) NamespaceIDTypedSetting[T] { newS := s @@ -1195,6 +1213,9 @@ func (s TaskQueueTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s TaskQueueTypedSetting[T]) DefaultValue() any { + return s.def +} func (s TaskQueueTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s TaskQueueTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceTaskQueue } @@ -1202,6 +1223,9 @@ func (s TaskQueueTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s TaskQueueTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s TaskQueueTypedSetting[T]) WithDefault(v T) TaskQueueTypedSetting[T] { newS := s @@ -1355,6 +1379,9 @@ func (s ShardIDTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s ShardIDTypedSetting[T]) DefaultValue() any { + return s.def +} func (s ShardIDTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s ShardIDTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceShardID } @@ -1362,6 +1389,9 @@ func (s ShardIDTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s ShardIDTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s ShardIDTypedSetting[T]) WithDefault(v T) ShardIDTypedSetting[T] { newS := s @@ -1491,6 +1521,9 @@ func (s TaskTypeTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s TaskTypeTypedSetting[T]) DefaultValue() any { + return s.def +} func (s TaskTypeTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s TaskTypeTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceTaskType } @@ -1498,6 +1531,9 @@ func (s TaskTypeTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s TaskTypeTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s TaskTypeTypedSetting[T]) WithDefault(v T) TaskTypeTypedSetting[T] { newS := s @@ -1627,6 +1663,9 @@ func (s DestinationTypedSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s DestinationTypedSetting[T]) DefaultValue() any { + return s.def +} func (s DestinationTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } func (s DestinationTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceDestination } @@ -1634,6 +1673,9 @@ func (s DestinationTypedConstrainedDefaultSetting[T]) Validate(v any) error { _, err := s.convert(v) return err } +func (s DestinationTypedConstrainedDefaultSetting[T]) DefaultValue() any { + return s.cdef +} func (s DestinationTypedSetting[T]) WithDefault(v T) DestinationTypedSetting[T] { newS := s diff --git a/common/rpc/interceptor/logtags/admin_service_server_gen.go b/common/rpc/interceptor/logtags/admin_service_server_gen.go index 961323ee5fd..c92119f7be7 100644 --- a/common/rpc/interceptor/logtags/admin_service_server_gen.go +++ b/common/rpc/interceptor/logtags/admin_service_server_gen.go @@ -89,6 +89,10 @@ func (wt *WorkflowTags) extractFromAdminServiceServerMessage(message any) []tag. return nil case *adminservice.GetDLQTasksResponse: return nil + case *adminservice.GetDynamicConfigurationsRequest: + return nil + case *adminservice.GetDynamicConfigurationsResponse: + return nil case *adminservice.GetNamespaceRequest: return nil case *adminservice.GetNamespaceResponse: diff --git a/config/dynamicconfig/development-sql.yaml b/config/dynamicconfig/development-sql.yaml index 84bbb46a358..6a33304e4f9 100644 --- a/config/dynamicconfig/development-sql.yaml +++ b/config/dynamicconfig/development-sql.yaml @@ -61,6 +61,6 @@ matching.queryWorkflowTaskTimeoutLogRate: history.ReplicationEnableUpdateWithNewTaskMerge: - value: true history.hostLevelCacheMaxSize: - - value: 8192 + - value: 8000 history.enableTransitionHistory: - value: true diff --git a/proto/internal/temporal/server/api/adminservice/v1/request_response.proto b/proto/internal/temporal/server/api/adminservice/v1/request_response.proto index 71d2e06a0f5..f0b51017802 100644 --- a/proto/internal/temporal/server/api/adminservice/v1/request_response.proto +++ b/proto/internal/temporal/server/api/adminservice/v1/request_response.proto @@ -30,6 +30,7 @@ import "temporal/server/api/persistence/v1/workflow_mutable_state.proto"; import "temporal/server/api/persistence/v1/tasks.proto"; import "temporal/server/api/persistence/v1/hsm.proto"; import "temporal/server/api/taskqueue/v1/message.proto"; +import "temporal/server/api/dynamicconfig/v1/message.proto"; message RebuildMutableStateRequest { string namespace = 1; @@ -598,3 +599,18 @@ message ForceUnloadTaskQueuePartitionRequest { message ForceUnloadTaskQueuePartitionResponse { bool was_loaded = 1; } + +message HostConfig { + // The host that this configuration was loaded from. + string hostname = 1; + // The raw dynamic config loaded with all constraints. + map dynamic_config = 2; +} + +message GetDynamicConfigurationsRequest { + repeated string dynamic_config_keys = 1; +} + +message GetDynamicConfigurationsResponse { + repeated HostConfig host_config = 1; +} \ No newline at end of file diff --git a/proto/internal/temporal/server/api/adminservice/v1/service.proto b/proto/internal/temporal/server/api/adminservice/v1/service.proto index e32ccd62c85..5752eb33032 100644 --- a/proto/internal/temporal/server/api/adminservice/v1/service.proto +++ b/proto/internal/temporal/server/api/adminservice/v1/service.proto @@ -161,4 +161,6 @@ service AdminService { rpc DescribeTaskQueuePartition (DescribeTaskQueuePartitionRequest) returns (DescribeTaskQueuePartitionResponse) {} rpc ForceUnloadTaskQueuePartition (ForceUnloadTaskQueuePartitionRequest) returns (ForceUnloadTaskQueuePartitionResponse) {} + + rpc GetDynamicConfigurations(GetDynamicConfigurationsRequest) returns (GetDynamicConfigurationsResponse) {} } diff --git a/proto/internal/temporal/server/api/dynamicconfig/v1/message.proto b/proto/internal/temporal/server/api/dynamicconfig/v1/message.proto new file mode 100644 index 00000000000..1e0943b240e --- /dev/null +++ b/proto/internal/temporal/server/api/dynamicconfig/v1/message.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package temporal.server.api.dynamicconfig.v1; +option go_package = "go.temporal.io/server/api/dynamicconfig/v1;dynamicconfig"; + +import "google/protobuf/struct.proto"; + +message Constraints { + string namespace = 1; + string namespace_id = 2; + string task_queue_name = 3; + int32 task_queue_type = 4; + int32 shard_id = 5; + int32 task_type = 6; + string destination = 7; +} + +message ConstrainedValue { + Constraints constraints = 1; + google.protobuf.Struct value = 2; +} + +message ConstrainedValues { + repeated ConstrainedValue items = 1; +} \ No newline at end of file diff --git a/service/frontend/admin_handler.go b/service/frontend/admin_handler.go index 8a7f495d2ea..a94f7723f47 100644 --- a/service/frontend/admin_handler.go +++ b/service/frontend/admin_handler.go @@ -24,6 +24,7 @@ import ( "go.temporal.io/server/api/adminservice/v1" clusterspb "go.temporal.io/server/api/cluster/v1" commonspb "go.temporal.io/server/api/common/v1" + dc "go.temporal.io/server/api/dynamicconfig/v1" enumsspb "go.temporal.io/server/api/enums/v1" "go.temporal.io/server/api/historyservice/v1" "go.temporal.io/server/api/matchingservice/v1" @@ -39,6 +40,7 @@ import ( "go.temporal.io/server/common/cluster" "go.temporal.io/server/common/config" "go.temporal.io/server/common/convert" + "go.temporal.io/server/common/dynamicconfig" "go.temporal.io/server/common/headers" "go.temporal.io/server/common/log" "go.temporal.io/server/common/log/tag" @@ -62,6 +64,7 @@ import ( "go.temporal.io/server/service/worker/dlq" "google.golang.org/grpc/health" healthpb "google.golang.org/grpc/health/grpc_health_v1" + "google.golang.org/protobuf/types/known/structpb" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -105,6 +108,7 @@ type ( clusterMetadata cluster.Metadata healthServer *health.Server historyHealthChecker HealthChecker + dynamicClient dynamicconfig.Client // DEPRECATED: only history service on server side is supposed to // use the following components. @@ -139,6 +143,7 @@ type ( HealthServer *health.Server EventSerializer serialization.Serializer TimeSource clock.TimeSource + dynamicClient dynamicconfig.Client // DEPRECATED: only history service on server side is supposed to // use the following components. @@ -223,6 +228,7 @@ func NewAdminHandler( clusterMetadata: args.ClusterMetadata, healthServer: args.HealthServer, historyHealthChecker: historyHealthChecker, + dynamicClient: args.dynamicClient, taskCategoryRegistry: args.CategoryRegistry, matchingClient: args.matchingClient, } @@ -2177,6 +2183,66 @@ func (adh *AdminHandler) getDLQWorkflowID( ) } +func (adh *AdminHandler) GetDynamicConfigurations( + ctx context.Context, + req *adminservice.GetDynamicConfigurationsRequest, +) (_ *adminservice.GetDynamicConfigurationsResponse, retError error) { + defer log.CapturePanic(adh.logger, &retError) + requestedKeys := req.GetDynamicConfigKeys() + dynamicConfig := make(map[string]*dc.ConstrainedValues, len(requestedKeys)) + + for _, key := range requestedKeys { + var dcEntry []dynamicconfig.ConstrainedValue + k := dynamicconfig.Key(key) + dcEntry = adh.dynamicClient.GetValue(k) + + // get global default value + if dcEntry == nil { + defaultValue := dynamicconfig.GetDefaultValueForKey(k) + dcEntry = append(dcEntry, defaultValue) + } + + protoValues := make([]*dc.ConstrainedValue, 0) + for _, ConstrainedValue := range dcEntry { + value, _ := toStruct(ConstrainedValue.Value) + protoValues = append(protoValues, &dc.ConstrainedValue{ + Value: value, + Constraints: &dc.Constraints{ + Namespace: ConstrainedValue.Constraints.Namespace, + NamespaceId: ConstrainedValue.Constraints.NamespaceID, + TaskQueueName: ConstrainedValue.Constraints.TaskQueueName, + TaskQueueType: int32(ConstrainedValue.Constraints.TaskQueueType), + ShardId: ConstrainedValue.Constraints.ShardID, + TaskType: int32(ConstrainedValue.Constraints.TaskType), + Destination: ConstrainedValue.Constraints.Destination, + }, + }) + } + dynamicConfig[key] = &dc.ConstrainedValues{Items: protoValues} + } + + hostConfig := &adminservice.HostConfig{ + Hostname: adh.hostInfoProvider.HostInfo().Identity(), + DynamicConfig: dynamicConfig, + } + + return &adminservice.GetDynamicConfigurationsResponse{ + HostConfig: []*adminservice.HostConfig{hostConfig}, + }, nil +} + +func toStruct(v any) (*structpb.Struct, error) { + val, err := structpb.NewValue(v) + if err != nil { + return nil, fmt.Errorf("failed to convert value: %w", err) + } + return &structpb.Struct{ + Fields: map[string]*structpb.Value{ + "value": val, + }, + }, nil +} + func validateHistoryDLQKey( key *commonspb.HistoryDLQKey, ) error { diff --git a/service/frontend/admin_handler_test.go b/service/frontend/admin_handler_test.go index f1754c4d7c2..25fbc879293 100644 --- a/service/frontend/admin_handler_test.go +++ b/service/frontend/admin_handler_test.go @@ -83,6 +83,7 @@ type ( mockProducer *persistence.MockNamespaceReplicationQueue mockMatchingClient *matchingservicemock.MockMatchingServiceClient mockSaMapper *searchattribute.MockMapper + dynamicClient dynamicconfig.Client namespace namespace.Name namespaceID namespace.ID @@ -136,6 +137,14 @@ func (s *adminHandlerSuite) SetupTest() { NumHistoryShards: 1, } + dynamicConfigClient := dynamicconfig.NewMemoryClient() + dynamicConfigClient.OverrideValue("frontend.rps", 10) + dynamicConfigClient.OverrideValue("matching.rps", 20) + dynamicConfigClient.OverrideValue("history.rps", 30) + dynamicConfigClient.OverrideValue("limit.maxIDLength", 255) + dynamicConfigClient.OverrideValue("history.enableTransitionHistory", true) + s.dynamicClient = dynamicConfigClient + cfg := &Config{ NumHistoryShards: 4, @@ -172,6 +181,7 @@ func (s *adminHandlerSuite) SetupTest() { health.NewServer(), serialization.NewSerializer(), clock.NewRealTimeSource(), + s.dynamicClient, tasks.NewDefaultTaskCategoryRegistry(), s.mockResource.GetMatchingClient(), } @@ -2079,6 +2089,47 @@ func (s *adminHandlerSuite) TestImportWorkflowExecution_WithNonAliasedSearchAttr } } +func (s *adminHandlerSuite) TestGetDynamicConfigurations() { + s.mockResource.HostInfoProvider.EXPECT().HostInfo().Return(membership.NewHostInfoFromAddress("test-dynamic-config")).Times(1) + res, err := s.handler.GetDynamicConfigurations(context.Background(), &adminservice.GetDynamicConfigurationsRequest{ + DynamicConfigKeys: []string{ + "frontend.rps", + "matching.rps", + "history.rps", + "limit.maxIDLength", + "history.enableTransitionHistory", + }, + }) + + s.NoError(err) + s.NotNil(res) + s.NotNil(res.HostConfig) + s.Len(res.HostConfig, 1) + + hostConfig := res.HostConfig[0] + s.NotNil(hostConfig.DynamicConfig) + s.Len(hostConfig.DynamicConfig, 5) + + rpsConfig := hostConfig.DynamicConfig["frontend.rps"] + s.NotNil(rpsConfig) + s.Len(rpsConfig.Items, 1) + s.NotNil(rpsConfig.Items[0].Constraints) + s.Equal(float64(10), rpsConfig.Items[0].Value.AsMap()["value"]) + + maxIDLengthConfig := hostConfig.DynamicConfig["limit.maxIDLength"] + s.NotNil(maxIDLengthConfig) + s.Len(maxIDLengthConfig.Items, 1) + s.Equal(float64(255), maxIDLengthConfig.Items[0].Value.AsMap()["value"]) + + transitionHistoryConfig := hostConfig.DynamicConfig["history.enableTransitionHistory"] + s.NotNil(transitionHistoryConfig) + s.Len(transitionHistoryConfig.Items, 1) + s.NotNil(transitionHistoryConfig.Items[0].Constraints) + s.Equal(true, transitionHistoryConfig.Items[0].Value.AsMap()["value"]) + + s.NotEmpty(hostConfig.Hostname) +} + func (s *adminHandlerSuite) validatePhysicalTaskQueueInfo(expectedPhysicalTaskQueueInfo *taskqueuespb.PhysicalTaskQueueInfo, responsePhysicalTaskQueueInfo *taskqueuespb.PhysicalTaskQueueInfo) { diff --git a/service/frontend/fx.go b/service/frontend/fx.go index 0dbfdff5eb5..6868bb1e73d 100644 --- a/service/frontend/fx.go +++ b/service/frontend/fx.go @@ -654,6 +654,7 @@ func AdminHandlerProvider( timeSource clock.TimeSource, taskCategoryRegistry tasks.TaskCategoryRegistry, matchingClient resource.MatchingClient, + dynamicClient dynamicconfig.Client, ) *AdminHandler { args := NewAdminHandlerArgs{ persistenceConfig, @@ -682,6 +683,7 @@ func AdminHandlerProvider( healthServer, eventSerializer, timeSource, + dynamicClient, taskCategoryRegistry, matchingClient, } diff --git a/tools/tdbg/commands.go b/tools/tdbg/commands.go index 3715b2a0ab4..659b1d86b38 100644 --- a/tools/tdbg/commands.go +++ b/tools/tdbg/commands.go @@ -740,3 +740,29 @@ func AdminReplicateWorkflow( fmt.Fprintln(c.App.Writer, "Replication tasks generated successfully.") return nil } + +func AdminGetClusterConfig(c *cli.Context, clientFactory ClientFactory) error { + adminClient := clientFactory.AdminClient(c) + ctx, cancel := newContext(c) + defer cancel() + + keys := c.StringSlice(FlagKey) + if len(keys) == 0 { + return fmt.Errorf("flag %q is required", FlagKey) + } + + filteredKeys := make([]string, 0, len(keys)) + for _, k := range keys { + if trimmed := strings.TrimSpace(k); trimmed != "" { + filteredKeys = append(filteredKeys, trimmed) + } + } + resp, err := adminClient.GetDynamicConfigurations(ctx, &adminservice.GetDynamicConfigurationsRequest{ + DynamicConfigKeys: keys, + }) + if err != nil { + return fmt.Errorf("error getting cluster config: %s", err) + } + prettyPrintJSONObject(c, resp) + return nil +} diff --git a/tools/tdbg/flags.go b/tools/tdbg/flags.go index e08ab4f898f..6c2c8e7d57b 100644 --- a/tools/tdbg/flags.go +++ b/tools/tdbg/flags.go @@ -70,4 +70,5 @@ var ( FlagAllActive = "select-all-active" FlagFair = "fair" FlagMinPass = "min-pass" + FlagKey = "key" ) diff --git a/tools/tdbg/tdbg_commands.go b/tools/tdbg/tdbg_commands.go index 500cf4050d7..02ccf0476e5 100644 --- a/tools/tdbg/tdbg_commands.go +++ b/tools/tdbg/tdbg_commands.go @@ -68,6 +68,12 @@ func getCommands( Usage: "Decode payload", Subcommands: newDecodeCommands(taskBlobEncoder), }, + { + Name: "config", + Usage: "Command to get dynamic config values", + Aliases: []string{"cfg"}, + Subcommands: newGetConfigValuesCommands(clientFactory), + }, } } @@ -876,3 +882,23 @@ func newDecodeCommands( }, } } + +func newGetConfigValuesCommands(ClientFactory ClientFactory) []*cli.Command { + return []*cli.Command{ + { + Name: "get", + Aliases: []string{"g"}, + Usage: "Get frontend dynamic configuration", + Flags: []cli.Flag{ + &cli.StringSliceFlag{ + Name: FlagKey, + Usage: "Enter keys", + Aliases: []string{"k"}, + }, + }, + Action: func(c *cli.Context) error { + return AdminGetClusterConfig(c, ClientFactory) + }, + }, + } +}