Files
tasks/api/persistence/v1/cluster_metadata.pb.go
aef15c9dc9 Enable replication separately from namespace replication (#8658)
## What changed?
- Add a new flag that controls whether clusters setup replication
streams to each other
- Feature flag to gate the new flag for compatibility
- Functional test to vet the changes

## Why?
Optimization to avoid excessive network activity when we only want
namespace replication.

## How did you test it?
- [x] built
- [x] run locally and tested manually
- [x] covered by existing tests
- [ ] added new unit test(s)
- [x] added new functional test(s)

---------

Co-authored-by: Hanzo Dev <[email protected]>
2025-11-20 11:55:27 -08:00

314 lines
14 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// plugins:
// protoc-gen-go
// protoc
// source: temporal/server/api/persistence/v1/cluster_metadata.proto
package persistence
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
v11 "go.temporal.io/api/enums/v1"
v1 "go.temporal.io/api/version/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
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)
)
// data column
type ClusterMetadata struct {
state protoimpl.MessageState `protogen:"open.v1"`
ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
HistoryShardCount int32 `protobuf:"varint,2,opt,name=history_shard_count,json=historyShardCount,proto3" json:"history_shard_count,omitempty"`
ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
VersionInfo *v1.VersionInfo `protobuf:"bytes,4,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
IndexSearchAttributes map[string]*IndexSearchAttributes `protobuf:"bytes,5,rep,name=index_search_attributes,json=indexSearchAttributes,proto3" json:"index_search_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
ClusterAddress string `protobuf:"bytes,6,opt,name=cluster_address,json=clusterAddress,proto3" json:"cluster_address,omitempty"`
HttpAddress string `protobuf:"bytes,13,opt,name=http_address,json=httpAddress,proto3" json:"http_address,omitempty"`
FailoverVersionIncrement int64 `protobuf:"varint,7,opt,name=failover_version_increment,json=failoverVersionIncrement,proto3" json:"failover_version_increment,omitempty"`
InitialFailoverVersion int64 `protobuf:"varint,8,opt,name=initial_failover_version,json=initialFailoverVersion,proto3" json:"initial_failover_version,omitempty"`
IsGlobalNamespaceEnabled bool `protobuf:"varint,9,opt,name=is_global_namespace_enabled,json=isGlobalNamespaceEnabled,proto3" json:"is_global_namespace_enabled,omitempty"`
IsConnectionEnabled bool `protobuf:"varint,10,opt,name=is_connection_enabled,json=isConnectionEnabled,proto3" json:"is_connection_enabled,omitempty"`
UseClusterIdMembership bool `protobuf:"varint,11,opt,name=use_cluster_id_membership,json=useClusterIdMembership,proto3" json:"use_cluster_id_membership,omitempty"`
Tags map[string]string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// is_replication_enabled controls whether replication streams are active.
IsReplicationEnabled bool `protobuf:"varint,14,opt,name=is_replication_enabled,json=isReplicationEnabled,proto3" json:"is_replication_enabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ClusterMetadata) Reset() {
*x = ClusterMetadata{}
mi := &file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ClusterMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClusterMetadata) ProtoMessage() {}
func (x *ClusterMetadata) ProtoReflect() protoreflect.Message {
mi := &file_temporal_server_api_persistence_v1_cluster_metadata_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 ClusterMetadata.ProtoReflect.Descriptor instead.
func (*ClusterMetadata) Descriptor() ([]byte, []int) {
return file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescGZIP(), []int{0}
}
func (x *ClusterMetadata) GetClusterName() string {
if x != nil {
return x.ClusterName
}
return ""
}
func (x *ClusterMetadata) GetHistoryShardCount() int32 {
if x != nil {
return x.HistoryShardCount
}
return 0
}
func (x *ClusterMetadata) GetClusterId() string {
if x != nil {
return x.ClusterId
}
return ""
}
func (x *ClusterMetadata) GetVersionInfo() *v1.VersionInfo {
if x != nil {
return x.VersionInfo
}
return nil
}
func (x *ClusterMetadata) GetIndexSearchAttributes() map[string]*IndexSearchAttributes {
if x != nil {
return x.IndexSearchAttributes
}
return nil
}
func (x *ClusterMetadata) GetClusterAddress() string {
if x != nil {
return x.ClusterAddress
}
return ""
}
func (x *ClusterMetadata) GetHttpAddress() string {
if x != nil {
return x.HttpAddress
}
return ""
}
func (x *ClusterMetadata) GetFailoverVersionIncrement() int64 {
if x != nil {
return x.FailoverVersionIncrement
}
return 0
}
func (x *ClusterMetadata) GetInitialFailoverVersion() int64 {
if x != nil {
return x.InitialFailoverVersion
}
return 0
}
func (x *ClusterMetadata) GetIsGlobalNamespaceEnabled() bool {
if x != nil {
return x.IsGlobalNamespaceEnabled
}
return false
}
func (x *ClusterMetadata) GetIsConnectionEnabled() bool {
if x != nil {
return x.IsConnectionEnabled
}
return false
}
func (x *ClusterMetadata) GetUseClusterIdMembership() bool {
if x != nil {
return x.UseClusterIdMembership
}
return false
}
func (x *ClusterMetadata) GetTags() map[string]string {
if x != nil {
return x.Tags
}
return nil
}
func (x *ClusterMetadata) GetIsReplicationEnabled() bool {
if x != nil {
return x.IsReplicationEnabled
}
return false
}
type IndexSearchAttributes struct {
state protoimpl.MessageState `protogen:"open.v1"`
CustomSearchAttributes map[string]v11.IndexedValueType `protobuf:"bytes,1,rep,name=custom_search_attributes,json=customSearchAttributes,proto3" json:"custom_search_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=temporal.api.enums.v1.IndexedValueType"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *IndexSearchAttributes) Reset() {
*x = IndexSearchAttributes{}
mi := &file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *IndexSearchAttributes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IndexSearchAttributes) ProtoMessage() {}
func (x *IndexSearchAttributes) ProtoReflect() protoreflect.Message {
mi := &file_temporal_server_api_persistence_v1_cluster_metadata_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 IndexSearchAttributes.ProtoReflect.Descriptor instead.
func (*IndexSearchAttributes) Descriptor() ([]byte, []int) {
return file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescGZIP(), []int{1}
}
func (x *IndexSearchAttributes) GetCustomSearchAttributes() map[string]v11.IndexedValueType {
if x != nil {
return x.CustomSearchAttributes
}
return nil
}
var File_temporal_server_api_persistence_v1_cluster_metadata_proto protoreflect.FileDescriptor
const file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc = "" +
"\n" +
"9temporal/server/api/persistence/v1/cluster_metadata.proto\x12\"temporal.server.api.persistence.v1\x1a\"temporal/api/enums/v1/common.proto\x1a%temporal/api/version/v1/message.proto\"\x8f\b\n" +
"\x0fClusterMetadata\x12!\n" +
"\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12.\n" +
"\x13history_shard_count\x18\x02 \x01(\x05R\x11historyShardCount\x12\x1d\n" +
"\n" +
"cluster_id\x18\x03 \x01(\tR\tclusterId\x12G\n" +
"\fversion_info\x18\x04 \x01(\v2$.temporal.api.version.v1.VersionInfoR\vversionInfo\x12\x86\x01\n" +
"\x17index_search_attributes\x18\x05 \x03(\v2N.temporal.server.api.persistence.v1.ClusterMetadata.IndexSearchAttributesEntryR\x15indexSearchAttributes\x12'\n" +
"\x0fcluster_address\x18\x06 \x01(\tR\x0eclusterAddress\x12!\n" +
"\fhttp_address\x18\r \x01(\tR\vhttpAddress\x12<\n" +
"\x1afailover_version_increment\x18\a \x01(\x03R\x18failoverVersionIncrement\x128\n" +
"\x18initial_failover_version\x18\b \x01(\x03R\x16initialFailoverVersion\x12=\n" +
"\x1bis_global_namespace_enabled\x18\t \x01(\bR\x18isGlobalNamespaceEnabled\x122\n" +
"\x15is_connection_enabled\x18\n" +
" \x01(\bR\x13isConnectionEnabled\x129\n" +
"\x19use_cluster_id_membership\x18\v \x01(\bR\x16useClusterIdMembership\x12Q\n" +
"\x04tags\x18\f \x03(\v2=.temporal.server.api.persistence.v1.ClusterMetadata.TagsEntryR\x04tags\x124\n" +
"\x16is_replication_enabled\x18\x0e \x01(\bR\x14isReplicationEnabled\x1a\x83\x01\n" +
"\x1aIndexSearchAttributesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12O\n" +
"\x05value\x18\x02 \x01(\v29.temporal.server.api.persistence.v1.IndexSearchAttributesR\x05value:\x028\x01\x1a7\n" +
"\tTagsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x9d\x02\n" +
"\x15IndexSearchAttributes\x12\x8f\x01\n" +
"\x18custom_search_attributes\x18\x01 \x03(\v2U.temporal.server.api.persistence.v1.IndexSearchAttributes.CustomSearchAttributesEntryR\x16customSearchAttributes\x1ar\n" +
"\x1bCustomSearchAttributesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12=\n" +
"\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01B6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescOnce sync.Once
file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescData []byte
)
func file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescGZIP() []byte {
file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescOnce.Do(func() {
file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc), len(file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc)))
})
return file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescData
}
var file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_temporal_server_api_persistence_v1_cluster_metadata_proto_goTypes = []any{
(*ClusterMetadata)(nil), // 0: temporal.server.api.persistence.v1.ClusterMetadata
(*IndexSearchAttributes)(nil), // 1: temporal.server.api.persistence.v1.IndexSearchAttributes
nil, // 2: temporal.server.api.persistence.v1.ClusterMetadata.IndexSearchAttributesEntry
nil, // 3: temporal.server.api.persistence.v1.ClusterMetadata.TagsEntry
nil, // 4: temporal.server.api.persistence.v1.IndexSearchAttributes.CustomSearchAttributesEntry
(*v1.VersionInfo)(nil), // 5: temporal.api.version.v1.VersionInfo
(v11.IndexedValueType)(0), // 6: temporal.api.enums.v1.IndexedValueType
}
var file_temporal_server_api_persistence_v1_cluster_metadata_proto_depIdxs = []int32{
5, // 0: temporal.server.api.persistence.v1.ClusterMetadata.version_info:type_name -> temporal.api.version.v1.VersionInfo
2, // 1: temporal.server.api.persistence.v1.ClusterMetadata.index_search_attributes:type_name -> temporal.server.api.persistence.v1.ClusterMetadata.IndexSearchAttributesEntry
3, // 2: temporal.server.api.persistence.v1.ClusterMetadata.tags:type_name -> temporal.server.api.persistence.v1.ClusterMetadata.TagsEntry
4, // 3: temporal.server.api.persistence.v1.IndexSearchAttributes.custom_search_attributes:type_name -> temporal.server.api.persistence.v1.IndexSearchAttributes.CustomSearchAttributesEntry
1, // 4: temporal.server.api.persistence.v1.ClusterMetadata.IndexSearchAttributesEntry.value:type_name -> temporal.server.api.persistence.v1.IndexSearchAttributes
6, // 5: temporal.server.api.persistence.v1.IndexSearchAttributes.CustomSearchAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_temporal_server_api_persistence_v1_cluster_metadata_proto_init() }
func file_temporal_server_api_persistence_v1_cluster_metadata_proto_init() {
if File_temporal_server_api_persistence_v1_cluster_metadata_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_persistence_v1_cluster_metadata_proto_rawDesc), len(file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc)),
NumEnums: 0,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_temporal_server_api_persistence_v1_cluster_metadata_proto_goTypes,
DependencyIndexes: file_temporal_server_api_persistence_v1_cluster_metadata_proto_depIdxs,
MessageInfos: file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes,
}.Build()
File_temporal_server_api_persistence_v1_cluster_metadata_proto = out.File
file_temporal_server_api_persistence_v1_cluster_metadata_proto_goTypes = nil
file_temporal_server_api_persistence_v1_cluster_metadata_proto_depIdxs = nil
}