149
}
150
151
>
wfBehavior := mutableState.GetEffectiveVersioningBehavior()
api.go
152
>
wfDeployment := mutableState.GetEffectiveDeployment()
153
>
//nolint:staticcheck // SA1019 deprecated WorkerVersionCapabilities will clean up later
154
>
pollerDeployment, err := worker_versioning.DeploymentFromCapabilities(req.PollRequest.WorkerVersionCapabilities, req.PollRequest.DeploymentOptions)
155
>
if err != nil {
156
return nil, err
157
}
158
>
err = worker_versioning.ValidateTaskVersionDirective(req.GetVersionDirective(), wfBehavior, wfDeployment, req.ScheduledDeployment)
api.go
159
>
if err != nil {
160
return nil, err
161
}
162
163
>
_, workflowTask, err = mutableState.AddWorkflowTaskStartedEvent(
api.go
164
>
scheduledEventID,
165
>
requestID,
166
>
pollerTaskQueue,
167
>
req.PollRequest.Identity,
168
>
worker_versioning.StampFromCapabilities(req.PollRequest.WorkerVersionCapabilities, req.PollRequest.DeploymentOptions), //nolint:staticcheck // SA1019: WorkerVersionCapabilities is deprecated but still used for old versioning [cleanup-old-wv]
169
>
req.GetBuildIdRedirectInfo(),
170
>
workflowLease.GetContext().UpdateRegistry(ctx),
171
>
false,
172
>
req.TargetDeploymentVersion,
173
>
req.TaskDispatchRevisionNumber,
174
>
)
175
>
if err != nil {
176
// Unable to add WorkflowTaskStarted event to history
177
return nil, err
178
}
179
180
>
if workflowTask.Type == enumsspb.WORKFLOW_TASK_TYPE_SPECULATIVE {
api.go
181
updateAction.Noop = true
183
// If the wft is speculative MS changes are not persisted, so the possibly started
184
// transition by the StartDeploymentTransition call above won't be persisted. This is OK