@@ -14,10 +14,10 @@ import (
1414 taskqueuepb "go.temporal.io/api/taskqueue/v1"
1515 "go.temporal.io/api/workflowservice/v1"
1616 "go.temporal.io/sdk/activity"
17+ "go.temporal.io/sdk/log"
1718 "go.temporal.io/sdk/temporal"
1819 deploymentspb "go.temporal.io/server/api/deployment/v1"
1920 "go.temporal.io/server/api/matchingservice/v1"
20- "go.temporal.io/server/common/log/tag"
2121 "go.temporal.io/server/common/metrics"
2222 "go.temporal.io/server/common/namespace"
2323 "go.temporal.io/server/common/worker_versioning"
@@ -53,16 +53,7 @@ func (a *VersionActivities) SyncDeploymentVersionUserData(
5353 input * deploymentspb.SyncDeploymentVersionUserDataRequest ,
5454) (* deploymentspb.SyncDeploymentVersionUserDataResponse , error ) {
5555 logger := activity .GetLogger (ctx )
56- scheduledTime := activity .GetInfo (ctx ).ScheduledTime
57-
58- if scheduledTime .Add (SlowPropagationDelay ).Before (time .Now ()) {
59- a .Logger .Warn ("Slow propagation detected, attempting to sync user data" ,
60- tag .WorkflowNamespace (a .namespace .Name ().String ()),
61- tag .Deployment (input .DeploymentName ),
62- tag .BuildId (input .GetVersion ().GetBuildId ()),
63- )
64- a .MetricsHandler .Counter (metrics .SlowVersioningDataPropagationCounter .Name ()).Record (1 )
65- }
56+ defer a .checkSlowPropagation (ctx , logger )
6657
6758 errs := make (chan error )
6859
@@ -127,17 +118,17 @@ func (a *VersionActivities) SyncDeploymentVersionUserData(
127118 return & deploymentspb.SyncDeploymentVersionUserDataResponse {TaskQueueMaxVersions : maxVersionByName }, nil
128119}
129120
130- func (a * VersionActivities ) CheckWorkerDeploymentUserDataPropagation (ctx context.Context , input * deploymentspb.CheckWorkerDeploymentUserDataPropagationRequest ) error {
131- scheduledTime := activity .GetInfo (ctx ).ScheduledTime
132-
133- if scheduledTime .Add (SlowPropagationDelay ).Before (time .Now ()) {
134- a .Logger .Warn ("Slow propagation detected, awaiting task queue partition propagation" ,
135- tag .WorkflowNamespace (a .namespace .Name ().String ()),
136- )
121+ func (a * VersionActivities ) checkSlowPropagation (ctx context.Context , logger log.Logger ) {
122+ firstAttemptScheduledTime := activity .GetInfo (ctx ).ScheduledTime
123+ if firstAttemptScheduledTime .Add (SlowPropagationDelay ).Before (time .Now ()) {
124+ logger .Warn ("Slow propagation detected" , "duration" , time .Since (firstAttemptScheduledTime ))
137125 a .MetricsHandler .Counter (metrics .SlowVersioningDataPropagationCounter .Name ()).Record (1 )
138126 }
127+ }
139128
129+ func (a * VersionActivities ) CheckWorkerDeploymentUserDataPropagation (ctx context.Context , input * deploymentspb.CheckWorkerDeploymentUserDataPropagationRequest ) error {
140130 logger := activity .GetLogger (ctx )
131+ defer a .checkSlowPropagation (ctx , logger )
141132
142133 errs := make (chan error )
143134
0 commit comments