9079
func (ms *MutableStateImpl) ApplyMutation(
9080
mutation *persistencespb.WorkflowMutableStateMutation,
9082
>
prevExecutionInfoSize := ms.executionInfo.Size()
9083
>
currentVersionedTransition := ms.CurrentVersionedTransition()
9084
>
9085
>
ms.applySignalRequestedIds(mutation.SignalRequestedIds, mutation.ExecutionInfo)
9086
>
err := ms.applyTombstones(mutation.SubStateMachineTombstoneBatches, currentVersionedTransition)
9087
>
if err != nil {
9088
return err
9089
}
9091
>
if err != nil {
9092
return err
9093
}
9094
9096
>
9097
>
ms.approximateSize += mutation.ExecutionState.Size() - ms.executionState.Size()
9098
>
ms.executionState = mutation.ExecutionState
9099
>
9100
>
err = ms.applyUpdatesToSubStateMachines(
9101
>
mutation.UpdatedActivityInfos,
9102
>
mutation.UpdatedTimerInfos,
9103
>
mutation.UpdatedChildExecutionInfos,
9104
>
mutation.UpdatedRequestCancelInfos,
9105
>
mutation.UpdatedSignalInfos,
9106
>
false,
9107
>
)
9108
>
if err != nil {
9109
return err
9110
}
9111
9113
>
if err != nil {
9114
return err
9115
}
9116
9118
>
9119
>
// approximateSize update will be handled upon closing transaction
9120
>
return ms.chasmTree.ApplyMutation(chasm.NodesMutation{
9121
>
UpdatedNodes: mutation.UpdatedChasmNodes,
9122
>
})
9123
}
9124