298
// Every page in 0..finalPageNumber-1 must be present. A gap means a page was
299
// lost or never sent; merging anyway would silently drop commands.
300
>
merged := make([]*commandpb.Command, 0, len(c.taskCompletionBuffer.pages))
context.go
301
>
for page := range finalPageNumber {
302
>
cmds, ok := c.taskCompletionBuffer.pages[page]
303
>
if !ok {
304
metrics.WorkflowTaskCompletionBufferLost.With(c.metricsHandler).Record(1)
305
return nil, serviceerror.NewWorkflowTaskCompletionBufferLostf(
306
"workflow task completion buffer missing page %d of %d", page, finalPageNumber)
307
}
309
}
310
// Total completion size = buffered intermediate pages plus the final page (which