Skip to content

Commit

Permalink
Adding mutable metadata and cluster id (#803)
Browse files Browse the repository at this point in the history
Adding mutable metadata and cluster id
  • Loading branch information
vitarb committed Oct 8, 2020
1 parent 5a4ed0d commit b63d577
Show file tree
Hide file tree
Showing 31 changed files with 3,334 additions and 889 deletions.
2,158 changes: 1,659 additions & 499 deletions api/persistenceblobs/v1/message.pb.go

Large diffs are not rendered by default.

29 changes: 17 additions & 12 deletions cmd/server/temporal/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ import (
"log"
"time"

"github.com/pborman/uuid"

sdkclient "go.temporal.io/sdk/client"
"go.uber.org/zap"

Expand Down Expand Up @@ -301,30 +303,33 @@ func immutableClusterMetadataInitialization(
}
defer clusterMetadataManager.Close()

resp, err := clusterMetadataManager.InitializeImmutableClusterMetadata(
&persistence.InitializeImmutableClusterMetadataRequest{
ImmutableClusterMetadata: persistenceblobs.ImmutableClusterMetadata{
applied, err := clusterMetadataManager.SaveClusterMetadata(
&persistence.SaveClusterMetadataRequest{
ClusterMetadata: persistenceblobs.ClusterMetadata{
HistoryShardCount: int32(persistenceConfig.NumHistoryShards),
ClusterName: clusterMetadata.CurrentClusterName,
ClusterId: uuid.New(),
}})

if err != nil {
log.Fatalf("Error while fetching or persisting immutable cluster metadata: %v", err)
log.Fatalf("Error while saving cluster metadata: %v", err)
}

if resp.RequestApplied {
logger.Info("Successfully applied immutable cluster metadata.")
if applied {
logger.Info("Successfully saved cluster metadata.")
} else {
if clusterMetadata.CurrentClusterName != resp.PersistedImmutableData.ClusterName {
resp, err := clusterMetadataManager.GetClusterMetadata()
if err != nil {
log.Fatalf("Error while fetching cluster metadata: %v", err)
}
if clusterMetadata.CurrentClusterName != resp.ClusterName {
logImmutableMismatch(logger,
"ClusterMetadata.CurrentClusterName",
clusterMetadata.CurrentClusterName,
resp.PersistedImmutableData.ClusterName)
resp.ClusterName)

clusterMetadata.CurrentClusterName = resp.PersistedImmutableData.ClusterName
clusterMetadata.CurrentClusterName = resp.ClusterName
}

var persistedShardCount = int(resp.PersistedImmutableData.HistoryShardCount)
var persistedShardCount = int(resp.HistoryShardCount)
if persistenceConfig.NumHistoryShards != persistedShardCount {
logImmutableMismatch(logger,
"Persistence.NumHistoryShards",
Expand Down
12 changes: 6 additions & 6 deletions common/metrics/defs.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,10 +276,10 @@ const (
PersistenceUpdateDLQAckLevelScope
// PersistenceGetDLQAckLevelScope tracks GetDLQAckLevel calls made by service to persistence layer
PersistenceGetDLQAckLevelScope
// PersistenceInitImmutableClusterMetadataScope tracks InitializeImmutableClusterMetadata calls made by service to persistence layer
PersistenceInitImmutableClusterMetadataScope
// PersistenceGetImmutableClusterMetadataScope tracks GetImmutableClusterMetadata calls made by service to persistence layer
PersistenceGetImmutableClusterMetadataScope
// PersistenceGetClusterMetadataScope tracks GetClusterMetadata calls made by service to persistence layer
PersistenceGetClusterMetadataScope
// PersistenceSaveClusterMetadataScope tracks SaveClusterMetadata calls made by service to persistence layer
PersistenceSaveClusterMetadataScope
// PersistenceUpsertClusterMembershipScope tracks UpsertClusterMembership calls made by service to persistence layer
PersistenceUpsertClusterMembershipScope
// PersistencePruneClusterMembershipScope tracks PruneClusterMembership calls made by service to persistence layer
Expand Down Expand Up @@ -1144,8 +1144,8 @@ var ScopeDefs = map[ServiceIdx]map[int]scopeDefinition{
PersistenceUpdateDLQAckLevelScope: {operation: "UpdateDLQAckLevel"},
PersistenceGetDLQAckLevelScope: {operation: "GetDLQAckLevel"},
PersistenceNamespaceReplicationQueueScope: {operation: "NamespaceReplicationQueue"},
PersistenceInitImmutableClusterMetadataScope: {operation: "InitializeImmutableClusterMetadata"},
PersistenceGetImmutableClusterMetadataScope: {operation: "GetImmutableClusterMetadata"},
PersistenceGetClusterMetadataScope: {operation: "GetClusterMetadata"},
PersistenceSaveClusterMetadataScope: {operation: "SaveClusterMetadata"},
PersistencePruneClusterMembershipScope: {operation: "PruneClusterMembership"},
PersistenceGetClusterMembersScope: {operation: "GetClusterMembership"},
PersistenceUpsertClusterMembershipScope: {operation: "UpsertClusterMembership"},
Expand Down

0 comments on commit b63d577

Please sign in to comment.