503
}
504
505
>
case p.ConflictResolveWorkflowModeUpdateCurrent:
execution.go
506
>
executionState := resetWorkflow.ExecutionState
507
>
executionStateBlob := resetWorkflow.ExecutionStateBlob
508
>
lastWriteVersion := resetWorkflow.LastWriteVersion
509
>
if newWorkflow != nil {
510
executionState = newWorkflow.ExecutionState
511
executionStateBlob = newWorkflow.ExecutionStateBlob
512
lastWriteVersion = newWorkflow.LastWriteVersion
513
}
514
>
runID := primitives.MustParseUUID(executionState.RunId)
execution.go
515
>
createRequestID := executionState.CreateRequestId
516
>
state := executionState.State
517
>
status := executionState.Status
518
>
519
>
row := sqlplugin.CurrentExecutionsRow{
520
>
ShardID: shardID,
521
>
NamespaceID: namespaceID,
522
>
WorkflowID: workflowID,
523
>
RunID: runID,
524
>
ArchetypeID: request.ArchetypeID,
525
>
CreateRequestID: createRequestID,
526
>
State: state,
527
>
Status: status,
528
>
LastWriteVersion: lastWriteVersion,
529
>
StartTime: getStartTimeFromState(executionState),
530
>
Data: executionStateBlob.Data,
531
>
DataEncoding: executionStateBlob.EncodingType.String(),
532
>
}
533
>
var prevRunID primitives.UUID
534
>
if currentWorkflow != nil {
535
prevRunID = primitives.MustParseUUID(currentWorkflow.ExecutionState.RunId)
537
// reset workflow is current
538
prevRunID = primitives.MustParseUUID(resetWorkflow.ExecutionState.RunId)
539
}
540
>
if err := assertRunIDAndUpdateCurrentExecution(ctx, tx, row, prevRunID, m.serializer); err != nil {
execution.go
541
return err
542
}