3779
ctx context.Context,
3780
req *matchingservice.UpdateFairnessStateRequest,
3782
>
partition, err := tqid.NormalPartitionFromRpcName(req.GetTaskQueue(), req.GetNamespaceId(), enumspb.TASK_QUEUE_TYPE_WORKFLOW)
3783
>
if err != nil {
3784
return nil, err
3785
}
3786
3787
>
pm, _, err := e.getTaskQueuePartitionManager(ctx, partition, true, loadCauseOtherWrite)
matching_engine.go
3788
>
if err != nil {
3789
return nil, err
3790
}
3791
3792
>
updateFn := func(old *persistencespb.TaskQueueUserData) (*persistencespb.TaskQueueUserData, bool, error) {
matching_engine.go
3793
>
data := old
3794
>
if data != nil {
3795
data = common.CloneProto(old)
3797
>
data = &persistencespb.TaskQueueUserData{}
3798
>
}
3799
>
if data.PerType == nil {
3800
>
data.PerType = make(map[int32]*persistencespb.TaskQueueTypeUserData)
3801
>
}
3802
>
typ := int32(req.GetTaskQueueType())
3803
>
perType := data.PerType[typ]
3804
>
if perType == nil {
3805
>
data.PerType[typ] = &persistencespb.TaskQueueTypeUserData{}
3806
>
perType = data.PerType[typ]
3807
>
}
3808
>
perType.FairnessState = req.FairnessState
3809
>
return data, true, nil
3810
}
3811
>
_, err = pm.GetUserDataManager().UpdateUserData(ctx, UserDataUpdateOptions{Source: "Matching auto enable"}, updateFn)
matching_engine.go
3812
>
if err != nil {
3813
return nil, err
3814
}
3816
}
3817