2381
// ResetWorkflowExecution reset an existing workflow execution to WorkflowTaskCompleted event(exclusive).
2382
// And it will immediately terminating the current execution instance.
2383
>
func (wh *WorkflowHandler) ResetWorkflowExecution(ctx context.Context, request *workflowservice.ResetWorkflowExecutionRequest) (_ *workflowservice.ResetWorkflowExecutionResponse, retError error) {
workflow_handler.go
2384
>
defer log.CapturePanic(wh.logger, &retError)
2385
>
2386
>
if request == nil {
2387
return nil, errRequestNotSet
2388
}
2390
return nil, errRequestIDNotSet
2391
}
2393
return nil, errRequestIDTooLong
2394
}
2395
2396
>
if err := validateExecution(request.WorkflowExecution); err != nil {
workflow_handler.go
2397
return nil, err
2398
}
2399
2401
>
if _, validType := enumspb.ResetReapplyType_name[int32(request.GetResetReapplyType())]; !validType {
2402
return nil, serviceerror.NewInternalf("unknown reset reapply type: %v", request.GetResetReapplyType())
2403
}
2404
2406
>
if updateOpts := postOp.GetUpdateWorkflowOptions(); updateOpts != nil {
2407
>
if err := wh.validateTimeSkippingConfig(
2408
>
updateOpts.GetWorkflowExecutionOptions().GetTimeSkippingConfig(),
2409
>
namespace.Name(request.GetNamespace()),
2410
>
); err != nil {
2411
>
return nil, err
2412
>
}
2413
}
2414
}