297
resetReason string,
298
allowResetWithPendingChildren bool,
300
>
301
>
resetWorkflow, err := r.replayResetWorkflow(
302
>
ctx,
303
>
namespaceID,
304
>
workflowID,
305
>
baseRunID,
306
>
baseBranchToken,
307
>
baseRebuildLastEventID,
308
>
baseRebuildLastEventVersion,
309
>
resetRunID,
310
>
requestID,
311
>
)
312
>
if err != nil {
313
return nil, err
314
}
315
316
// Reset expiration time
318
>
319
>
// if workflow was reset after it was expired - at this point expiration task will
320
>
// already be fired since it is (re)created from the event, and event has old expiration time
321
>
// generate workflow execution task. again. this time with proper expiration time
322
>
323
>
if err := resetMutableState.RefreshExpirationTimeoutTask(ctx); err != nil {
324
return nil, err
325
}
326
328
return nil, serviceerror.NewInternal("WorkflowResetter encountered version mismatch.")
329
}
331
>
resetWorkflowVersion,
332
>
false,
333
>
); err != nil {
334
return nil, err
335
}
336
337
>
if !allowResetWithPendingChildren && len(resetMutableState.GetPendingChildExecutionInfos()) > 0 {
workflow_resetter.go
338
return nil, serviceerror.NewInvalidArgument("WorkflowResetter encountered pending child workflows.")
339
}
340
342
>
resetMutableState,
343
>
baseRunID,
344
>
baseRebuildLastEventID,
345
>
baseRebuildLastEventVersion,
346
>
resetRunID,
347
>
resetReason,
348
>
); err != nil {
349
return nil, err
350
}
351
353
>
resetMutableState.GetExecutionState().StartTime.AsTime(),
354
>
resetMutableState,
355
>
resetReason,
356
>
); err != nil {
357
return nil, err
358
}
359
361
}
362