285
return nil, err
286
}
287
>
defer c.clearTaskCompletionBuffer()
context.go
288
>
finalPageNumber := request.GetPageNumber()
289
>
// The version comes from the started workflow task, the same authority buffering used,
290
>
// so a buffer built for a workflow task that has since been superseded on a
291
>
// higher-version branch (same schedID/attempt) is treated as lost.
292
>
identity := workflowTaskIdentity{schedID: schedID, attempt: attempt, version: c.startedWorkflowTaskIdentity().version}
293
>
if c.taskCompletionBuffer == nil || c.taskCompletionBuffer.identity != identity {
294
metrics.WorkflowTaskCompletionBufferLost.With(c.metricsHandler).Record(1)
295
return nil, serviceerror.NewWorkflowTaskCompletionBufferLostf(