Commit Graph

113 Commits

Author SHA1 Message Date
you06 295094e5b5
add retry info to request source (#953)
* add retry info to request source

Signed-off-by: you06 <you1474600@gmail.com>

* handle upper layer retry

Signed-off-by: you06 <you1474600@gmail.com>

* stabilize test

Signed-off-by: you06 <you1474600@gmail.com>

* retry in 3 dimension

Signed-off-by: you06 <you1474600@gmail.com>

* record and restore req.ReadType

Signed-off-by: you06 <you1474600@gmail.com>

---------

Signed-off-by: you06 <you1474600@gmail.com>
2023-08-29 08:28:46 +08:00
ShuNing 45894d9d36
[pick] resource_control: bypass some internal urgent request (#938)
* resource_control: bypass some internal urgent request (#884)

Signed-off-by: nolouch <nolouch@gmail.com>

* resourcecontrol: fix nil pointer (#900)

Signed-off-by: nolouch <nolouch@gmail.com>

---------

Signed-off-by: nolouch <nolouch@gmail.com>
2023-08-11 03:40:06 -06:00
crazycs 8a214402da
use tidb_kv_read_timeout as first kv request timeout (#919)
* support tidb_kv_read_timeout as first round kv request timeout

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* update comment

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* refine test

Signed-off-by: crazycs520 <crazycs520@gmail.com>

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2023-08-11 11:37:10 +08:00
crazycs 27f2ad0f3a
ci: update go version (#936)
* ci: update go version

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix test

Signed-off-by: crazycs520 <crazycs520@gmail.com>

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2023-08-10 22:05:00 +08:00
crazycs 719e6456f7
use context logger as much as possible (#908)
* use context logger as much as possible

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* refine

Signed-off-by: crazycs520 <crazycs520@gmail.com>

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2023-07-31 11:23:49 +08:00
Hu# 76d6d93e98
resource_manager: ignore ru metrics for background request (#872)
Signed-off-by: husharp <jinhao.hu@pingcap.com>
Co-authored-by: disksing <i@disksing.com>
2023-07-26 15:13:54 +08:00
glorv 864a5fc0c4
make ResourceControlInterceptor atomic (#848)
Signed-off-by: glorv <glorvs@163.com>
2023-06-21 11:10:26 +08:00
glorv 0b4b0ca00e
kvrpc: deduplicate chained intercept by name (#832)
* dedup chained interceptor

Signed-off-by: glorv <glorvs@163.com>
2023-06-13 20:21:06 -07:00
crazycs df58452fe1
client_batch: add test for auto re-connect idle connection when wait connection ready and fix ci (#835)
* client_batch: add test

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* update go version

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci lint

Signed-off-by: crazycs520 <crazycs520@gmail.com>

* fix ci lint

Signed-off-by: crazycs520 <crazycs520@gmail.com>

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2023-06-13 14:17:17 +08:00
Connor 35c1ee47c4
Set resource group penalty (#772)
* Set resource group penalty 

Signed-off-by: Connor1996 <zbk602423539@gmail.com>
2023-04-19 20:39:20 +08:00
BornChanger d19741b3ed
internal: treat default resource group normally (#708)
Signed-off-by: BornChanger <dawn_catcher@126.com>
2023-03-16 16:06:03 +08:00
ShuNing ad4d1554b3
resource_control: consider default as a normal group (#741)
Signed-off-by: nolouch <nolouch@gmail.com>
2023-03-16 15:56:37 +08:00
JmPotato 9d950905d7
Introduce the RURuntimeStats (#732)
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-03-16 10:19:36 +08:00
glorv c9119d02ce
support time detail v2 (#729)
* support time detail v2

Signed-off-by: glorv <glorvs@163.com>

---------

Signed-off-by: glorv <glorvs@163.com>
Co-authored-by: Connor <zbk602423539@gmail.com>
2023-03-13 21:32:19 +08:00
cfzjywxk bdd41058aa
metrics: seperate metrics with source scope for txn command (#723)
* seperate metrics with source scope

Signed-off-by: cfzjywxk <lsswxrxr@163.com>

* fix async pessimistic rollback

Signed-off-by: cfzjywxk <lsswxrxr@163.com>

* fix missing definition

Signed-off-by: cfzjywxk <lsswxrxr@163.com>

---------

Signed-off-by: cfzjywxk <lsswxrxr@163.com>
2023-03-06 22:12:45 +08:00
Yongbo Jiang e2da552702
*: Update pd client (#722)
Signed-off-by: Cabinfever_B <cabinfeveroier@gmail.com>
Co-authored-by: disksing <i@disksing.com>
2023-02-28 17:15:02 +08:00
iosmanthus e0e6019f8a
attach keyspace_id to tikv/tiflash requests (#682) 2023-02-20 13:10:03 +08:00
disksing 9b3ecc1dca
*: update pd client (#694)
Signed-off-by: disksing <i@disksing.com>
2023-02-07 12:00:04 +08:00
Smilencer 35416c4c43
Add gRPC connection monitor and fix related bug (#665)
Signed-off-by: Smityz <smityz@qq.com>
Co-authored-by: disksing <i@disksing.com>
2023-01-31 16:28:48 +08:00
JmPotato 313152f32c Simplify the code
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-20 10:03:23 +08:00
JmPotato 2a19c65068 Export the switch
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-19 17:18:56 +08:00
JmPotato 8553f26149 Fix the test
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-19 16:55:26 +08:00
JmPotato 08694efec4 Fix the check
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-19 16:31:47 +08:00
JmPotato 320af6501e Introduce the switch
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-19 16:14:47 +08:00
JmPotato 494bebd702 Rename
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-19 11:50:30 +08:00
JmPotato 35b648cf98 Address the comments
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-18 20:15:50 +08:00
JmPotato 6ee294fedf Introduce the resource control client
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2023-01-18 17:14:24 +08:00
David f313ddf58d
reformat codec and add keyspace support (#649)
Signed-off-by: David <8039876+AmoebaProtozoa@users.noreply.github.com>
2023-01-10 15:15:33 +08:00
Jack Yu ce9203ef66
*: disable PermitWithoutStream to avoid too many pings (#574)
Signed-off-by: Jack Yu <jackysp@gmail.com>
2022-09-21 18:16:51 +08:00
Yilin Chen 2ed2113d10
Fix that histogram is not inserted into rpcNetLatencyHistCache (#563)
* Fix that histogram is not inserted into rpcNetLatencyHistCache

Signed-off-by: Yilin Chen <sticnarf@gmail.com>

* downgrade golangci-lint to avoid gofmt complaints temporarily

Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2022-08-09 11:48:08 +08:00
zyguan e10841f2d1
support adding `ExecDetailsV2` to tracing (#559)
* support adding `ExecDetailsV2` to tracing

Signed-off-by: zyguan <zhongyangguan@gmail.com>

* rename `TraceExecEnabled` to `TraceExecDetailsEnabled`

Signed-off-by: zyguan <zhongyangguan@gmail.com>

* revert changes for #558

Signed-off-by: zyguan <zhongyangguan@gmail.com>

* address comments

Signed-off-by: zyguan <zhongyangguan@gmail.com>

* add unit test

Signed-off-by: zyguan <zhongyangguan@gmail.com>
2022-07-29 11:44:04 +08:00
Yilin Chen e38d2b07de
do not format error when response does not include ExecDetailsV2 (#553)
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2022-07-21 11:16:57 +08:00
haojinming aa9ded37d1
add checksum for apiv2 (#549)
* add checksum for apiv2

Signed-off-by: haojinming <jinming.hao@pingcap.com>

* fix test

Signed-off-by: haojinming <jinming.hao@pingcap.com>

* fix test

Signed-off-by: haojinming <jinming.hao@pingcap.com>

* address review comments

Signed-off-by: haojinming <jinming.hao@pingcap.com>

* address review comments

Signed-off-by: haojinming <jinming.hao@pingcap.com>

* add unit test for EncodeEncodeV2KeyRanges

Signed-off-by: haojinming <jinming.hao@pingcap.com>

Co-authored-by: iosmanthus <dengliming@pingcap.com>
2022-07-20 14:42:24 +08:00
SeaRise 3d7cbc2448
update (#551)
Signed-off-by: SeaRise <hhssearise@foxmail.com>

Co-authored-by: Lei Zhao <zlwgx1023@gmail.com>
2022-07-19 21:10:03 +08:00
Yilin Chen 57c12f7c64
Handle more detailed statistics from TiKV (#536)
* support more detailed statistics returned from TiKV

Signed-off-by: Yilin Chen <sticnarf@gmail.com>

* fix log formatting

Signed-off-by: Yilin Chen <sticnarf@gmail.com>

* add to test

Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2022-07-13 16:56:47 +08:00
iosmanthus 68cd1bc6c1
Introduce API v2 (#494)
* introduce raw.Client with api v2

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* migrate rawkv test to api v2

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* git fire: refactoring the interface SplitRegion of CodecClientV2

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* go mod tidy

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix split region issue in CodecClientV2

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* rearrange imports

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* add version info for RegionCache

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* delay request encoding to RPCClient

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* prevent multiple encoding

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* wip: debugging retry logic

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix EpochNotMatch region decoding

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* remove txn request branch

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* copy request before encoding it

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* add gRPCDialOptions for rawkv.Client

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix api breaking change of raw.NewClient

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* address menglong's comments

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* go mod tidy

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* address comments and fix linter

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix api_test

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix TestScan

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix TestScan

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

* fix compatibility

Signed-off-by: iosmanthus <myosmanthustree@gmail.com>

Co-authored-by: Xiaoguang Sun <sunxiaoguang@users.noreply.github.com>
2022-07-09 14:49:46 +08:00
Daniël van Eeden 630d55eb12
client: change loglevel of sendBatchRequest() for context cancellation (#542)
Signed-off-by: Daniël van Eeden <git@myname.nl>
2022-07-08 10:37:15 +08:00
you06 bb026bdad8
client: support requests with source label (#506)
* support request scope and source.

Signed-off-by: you06 <you1474600@gmail.com>

* update

Signed-off-by: you06 <you1474600@gmail.com>

* use counter for requests with too-many source

Signed-off-by: you06 <you1474600@gmail.com>

* refine resolve lock

Signed-off-by: you06 <you1474600@gmail.com>

* remove request source from resolve details

Signed-off-by: you06 <you1474600@gmail.com>

* address comment

Signed-off-by: you06 <you1474600@gmail.com>
2022-06-24 18:17:09 +08:00
Lei Zhao 2807409d49
client: fix nil dereference when closing conns (#514)
Signed-off-by: youjiali1995 <zlwgx1023@gmail.com>

Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-05-31 16:17:49 +08:00
guo-shaoge 700cbe60d2
support find stores with tiflash_mpp label (#481)
Signed-off-by: guo-shaoge <shaoge1994@163.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-05-23 11:22:53 +08:00
disksing ec236b6435
fix linter warning (#470)
Signed-off-by: disksing <i@disksing.com>
2022-04-11 21:29:30 +08:00
Lei Zhao f73ec0e675
client: fix the race between connArray.Close() and connArray.Get() (#465)
Signed-off-by: youjiali1995 <zlwgx1023@gmail.com>
2022-04-06 17:12:03 +08:00
Lei Zhao 5b4040a95c
reconnect when meets store-not-match errors (#456)
Signed-off-by: youjiali1995 <zlwgx1023@gmail.com>
2022-03-24 17:30:51 +08:00
disksing 589cf79b2a
*: update etcd client to v3.5.2 (#423)
Signed-off-by: disksing <i@disksing.com>
2022-02-17 22:01:16 +08:00
Jack Yu 02f89e38ec
metrics: make batch client requests more accurate (#397)
Signed-off-by: Yu Shuaipeng <jackysp@gmail.com>

Co-authored-by: disksing <i@disksing.com>
2021-12-20 20:05:26 -08:00
Yexiang Zhang 6165dbaa95
introduce RPC interceptor mechanism (#389)
* Add interceptor mechanism for tikv RPC

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Rename comment

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Modify comments

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Fix ineffectual assignment

Signed-off-by: mornyx <mornyx.z@gmail.com>

* add AddInterceptor for KVTxn and KVSnapshot

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Separate intercepor package

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Add comments

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Add order test

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Fix integration tests

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Fix integration tests

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Move interceptor call from client to client_collapse

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Add comments

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Fix comment

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Add client_interceptor

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Modify comment

Signed-off-by: mornyx <mornyx.z@gmail.com>

* Add ut

Signed-off-by: mornyx <mornyx.z@gmail.com>
2021-12-18 13:03:06 +08:00
Lei Zhao 3a7675742e
txnkv: read through locks (#380)
Signed-off-by: youjiali1995 <zlwgx1023@gmail.com>
2021-12-01 16:35:10 +08:00
Song Gao b8cc5a319d
fix metrics error (#365)
Signed-off-by: yisaer <disxiaofei@163.com>
2021-11-02 12:05:33 +00:00
disksing 9ec50224be
*: replace pingcap/errors with pkg/errors (#357)
Signed-off-by: disksing <i@disksing.com>
2021-11-01 11:59:52 +08:00
disksing b074cb9ad3
internal/client: remove use of errors.Trace (#329)
Signed-off-by: disksing <i@disksing.com>
2021-10-11 16:59:49 +00:00
disksing 97fac134af
error: replace usages of terror.Log (#322)
Signed-off-by: disksing <i@disksing.com>
2021-10-11 06:08:21 +00:00
Song Gao 3cc2459779
add label (#314)
Signed-off-by: yisaer <disxiaofei@163.com>
2021-09-26 18:06:28 +08:00
Jack Yu d8891ee28d
internal/client: demoted annoying log (#303)
Signed-off-by: Shuaipeng Yu <jackysp@gmail.com>
2021-09-12 20:45:58 +08:00
JmPotato c7f8168472
client: fix some typos (#296)
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2021-09-02 14:01:52 +08:00
Yilin Chen 16d902a3c7
reduce write backoffs but don't count busy errors (#271)
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2021-08-24 09:05:36 +00:00
tiancaiamao feeb9d1ed1
metrics,internal/client: add metrics for batch client stream receiving duration (#279)
Signed-off-by: tiancaiamao <tiancaiamao@gmail.com>

Co-authored-by: disksing <i@disksing.com>
2021-08-23 12:13:37 +00:00
tiancaiamao 9d2ad5209e
internal/client: remove the lock for idle connection recycle (#278)
Signed-off-by: tiancaiamao <tiancaiamao@gmail.com>
2021-08-23 15:23:11 +08:00
tiancaiamao 31906d4105
internal/client: fix recycle idle connection block sending request (#270)
Signed-off-by: tiancaiamao <tiancaiamao@gmail.com>
2021-08-19 23:40:46 +08:00
disksing df2119f51b
client: cleanup RPCClient options (#268)
Signed-off-by: disksing <i@disksing.com>
2021-08-16 07:11:08 +00:00
disksing 288c649636
fix license (#267)
Signed-off-by: disksing <i@disksing.com>
2021-08-15 01:48:01 +08:00
Jack Yu 55155ad2e5
*: make grpc request duration more accurate (#253)
Signed-off-by: Shuaipeng Yu <jackysp@gmail.com>
2021-07-27 12:09:05 +00:00
disksing d0a98864a6
*: move logutil to internal directory (#207)
Signed-off-by: disksing <i@disksing.com>
2021-07-05 15:15:41 +08:00
disksing 4e8c0a34c8
move client to internal package (#194)
Signed-off-by: disksing <i@disksing.com>

Co-authored-by: iosmanthus <MyOsmanthusTree@gmail.com>
2021-06-30 16:18:10 +08:00