mirror of https://github.com/tikv/client-go.git
resource_control: set override_priority with resource group priority by default (#1060)
* set override_priority with resource group priority Signed-off-by: glorv <glorvs@163.com> * update go.mod Signed-off-by: glorv <glorvs@163.com> * fix typo Signed-off-by: glorv <glorvs@163.com> * fix Signed-off-by: glorv <glorvs@163.com> --------- Signed-off-by: glorv <glorvs@163.com>
This commit is contained in:
parent
7c96dfd783
commit
1c2351c281
2
go.mod
2
go.mod
|
|
@ -21,7 +21,7 @@ require (
|
|||
github.com/prometheus/client_model v0.3.0
|
||||
github.com/stretchr/testify v1.8.2
|
||||
github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83
|
||||
github.com/twmb/murmur3 v1.1.3
|
||||
go.etcd.io/etcd/api/v3 v3.5.10
|
||||
go.etcd.io/etcd/client/v3 v3.5.10
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -112,8 +112,8 @@ github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ
|
|||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4=
|
||||
github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM=
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865 h1:Gkvo77EevOpBGIdV1c8gwRqPhVbgLPRy82tXNEFpGTc=
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865/go.mod h1:cd6zBqRM9aogxf26K8NnFRPVtq9BnRE59tKEpX8IaWQ=
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83 h1:wPZW67pTWz2yEboCw2dK+z4p/tGFVCTqRl5WkNCK0lc=
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83/go.mod h1:cd6zBqRM9aogxf26K8NnFRPVtq9BnRE59tKEpX8IaWQ=
|
||||
github.com/twmb/murmur3 v1.1.3 h1:D83U0XYKcHRYwYIpBKf3Pks91Z0Byda/9SJ8B6EMRcA=
|
||||
github.com/twmb/murmur3 v1.1.3/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ require (
|
|||
github.com/stretchr/testify v1.8.4
|
||||
github.com/tidwall/gjson v1.14.1
|
||||
github.com/tikv/client-go/v2 v2.0.8-0.20231025022411-cad314220659
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83
|
||||
go.uber.org/goleak v1.2.1
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -507,8 +507,8 @@ github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
|
|||
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
|
||||
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
|
||||
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865 h1:Gkvo77EevOpBGIdV1c8gwRqPhVbgLPRy82tXNEFpGTc=
|
||||
github.com/tikv/pd/client v0.0.0-20231114041114-86831ce71865/go.mod h1:cd6zBqRM9aogxf26K8NnFRPVtq9BnRE59tKEpX8IaWQ=
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83 h1:wPZW67pTWz2yEboCw2dK+z4p/tGFVCTqRl5WkNCK0lc=
|
||||
github.com/tikv/pd/client v0.0.0-20231116034417-4e600c227e83/go.mod h1:cd6zBqRM9aogxf26K8NnFRPVtq9BnRE59tKEpX8IaWQ=
|
||||
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
|
||||
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
||||
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
||||
|
|
|
|||
|
|
@ -116,12 +116,18 @@ func buildResourceControlInterceptor(
|
|||
return next(target, req)
|
||||
}
|
||||
|
||||
consumption, penalty, err := resourceControlInterceptor.OnRequestWait(ctx, resourceGroupName, reqInfo)
|
||||
consumption, penalty, priority, err := resourceControlInterceptor.OnRequestWait(ctx, resourceGroupName, reqInfo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.GetResourceControlContext().Penalty = penalty
|
||||
ruRuntimeStats.Update(consumption)
|
||||
// override request priority with resource group priority if it's not set.
|
||||
// Get the priority at tikv side has some performance issue, so we pass it
|
||||
// at client side. See: https://github.com/tikv/tikv/issues/15994 for more details.
|
||||
if req.GetResourceControlContext().OverridePriority == 0 {
|
||||
req.GetResourceControlContext().OverridePriority = uint64(priority)
|
||||
}
|
||||
resp, err := next(target, req)
|
||||
if resp != nil {
|
||||
respInfo := resourcecontrol.MakeResponseInfo(resp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue