829
func (a *Activity) mergeActivityOptions(
830
req *workflowservice.UpdateActivityExecutionOptionsRequest,
832
>
updateFields := util.ParseFieldMask(req.GetUpdateMask())
833
>
834
>
// Build an ActivityOptions view of the current Activity state so we can use the shared merge function.
835
>
ao := &apiactivitypb.ActivityOptions{
836
>
TaskQueue: common.CloneProto(a.TaskQueue),
837
>
ScheduleToCloseTimeout: common.CloneProto(a.ScheduleToCloseTimeout),
838
>
ScheduleToStartTimeout: common.CloneProto(a.ScheduleToStartTimeout),
839
>
StartToCloseTimeout: common.CloneProto(a.StartToCloseTimeout),
840
>
HeartbeatTimeout: common.CloneProto(a.HeartbeatTimeout),
841
>
Priority: common.CloneProto(a.Priority),
842
>
RetryPolicy: common.CloneProto(a.RetryPolicy),
843
>
StartDelay: common.CloneProto(a.StartDelay),
844
>
}
845
>
846
>
if err := activityoptions.MergeActivityOptions(ao, common.CloneProto(req.GetActivityOptions()), updateFields); err != nil {
847
return err
848
}
849
850
>
if util.FieldMaskHasSubPath(updateFields, "retryPolicy") {
activity.go
851
if err := retrypolicy.Validate(ao.GetRetryPolicy()); err != nil {
852
return err