26
shardID int32,
27
workflowMutation *p.InternalWorkflowMutation,
29
>
lastWriteVersion := workflowMutation.LastWriteVersion
30
>
namespaceID := workflowMutation.NamespaceID
31
>
workflowID := workflowMutation.WorkflowID
32
>
runID := workflowMutation.ExecutionState.RunId
33
>
34
>
namespaceIDBytes, err := primitives.ParseUUID(namespaceID)
35
>
if err != nil {
36
return serviceerror.NewInternalf("uuid parse failed. Error: %v", err)
37
}
38
40
>
if err != nil {
41
return serviceerror.NewInternalf("uuid parse failed. Error: %v", err)
42
}
43
44
// TODO Remove me if UPDATE holds the lock to the end of a transaction
46
>
tx,
47
>
shardID,
48
>
namespaceIDBytes,
49
>
workflowID,
50
>
runIDBytes,
51
>
workflowMutation.Condition,
52
>
workflowMutation.DBRecordVersion,
53
>
); err != nil {
54
switch err.(type) {
55
case *p.WorkflowConditionFailedError, *p.ConditionFailedError: