Commit Graph

922 Commits

Author SHA1 Message Date
crazycs 87064b8038
replica-read request with mixed strategy and with label, should be able to retry all remain replicas (#1183)
* replica-read request with mixed strategy and with label, should be able to retry all remain replicas

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

* address comment

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-02-26 21:29:12 +08:00
crazycs 190f0cce53
don't retry same replica twice in a round, but for stale read, we can retry DataIsNotReady replica by replica-read (#1181)
* don't retry same replica twice in a round, but for stale read, we can retry DataIsNotReady replica by replica-read

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

* remove duplicate test case

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

* remove old duplicate test

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-02-26 14:52:53 +08:00
zyguan e72c4cd474
enhance background job management of region cache (#1171)
* enhance background job management of region cache

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

* add some comments

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

* address comments

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

* fix data race in ut

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

* fix data race

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

* refine scheduleWithTrigger

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

* address the comment

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
2024-02-26 11:26:25 +08:00
crazycs 93fff7cec5
refine onNotLeader logic when new leader is not available (#1178)
* refine onNotLeader logic when new leader is not available #1169

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

* refine logic and add test

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

* add more test case for ReplicaReadLeader with kv_read_timeout

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

* add comment

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

* fix leader has deadlineErr and retry it again issue, and add test for it

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

* refine code and comment

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-02-26 10:19:09 +08:00
crazycs 6f9550fda3
stale read request shoudn't retry leader if leader is already tried (#1174)
Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-02-23 18:01:14 +08:00
you06 8d28d3cd3a
txn: introduce pipelined memdb, Flush and BufferBatchGet for pipelined DML (#1114)
* Support pipelined memdb.

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

* fix mutex for pipelined memdb

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-02-23 10:24:44 +08:00
Weizhen Wang 8c13f6b5a6
*: upgrade grpc1.62 (#1168)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-02-22 13:15:55 +08:00
Ari Ekmekji 7bff6b6f32
Configurable low res tso update interval (#1154) (#1155)
* Configurable lowres tso update interval

Signed-off-by: Ari Ekmekji <aekmekji@gmail.com>

* Review comments

Signed-off-by: Ari Ekmekji <aekmekji@gmail.com>

* Comment for exported function

Signed-off-by: Ari Ekmekji <aekmekji@gmail.com>

---------

Signed-off-by: Ari Ekmekji <aekmekji@gmail.com>
Co-authored-by: Ari Ekmekji <ari.ekmekji@airbnb.com>
2024-02-22 09:56:00 +08:00
tongjian 824302acd0
client: Cache tikv request in tidb client side (#1098)
* impl priority queue

Signed-off-by: bufferflies <1045931706@qq.com>

* replace priority queue

Signed-off-by: bufferflies <1045931706@qq.com>

* cache request in tidb side

Signed-off-by: bufferflies <1045931706@qq.com>

* fix gosimple

Signed-off-by: bufferflies <1045931706@qq.com>

* impl priority

Signed-off-by: bufferflies <1045931706@qq.com>

* pass ut

Signed-off-by: bufferflies <1045931706@qq.com>

* add

Signed-off-by: bufferflies <1045931706@qq.com>

* remove request if the request has been canceled

Signed-off-by: bufferflies <1045931706@qq.com>

* remove request if it has been canceled

Signed-off-by: bufferflies <1045931706@qq.com>

* add comment for cancel

Signed-off-by: bufferflies <1045931706@qq.com>

* not make the loop is busy

Signed-off-by: bufferflies <1045931706@qq.com>

* lint

Signed-off-by: bufferflies <1045931706@qq.com>

* revert busy loop

Signed-off-by: bufferflies <1045931706@qq.com>

* add unit test

Signed-off-by: bufferflies <1045931706@qq.com>

* not limit ehigh prioirty test

Signed-off-by: bufferflies <1045931706@qq.com>

* pass lint

Signed-off-by: bufferflies <1045931706@qq.com>

* support all

Signed-off-by: bufferflies <1045931706@qq.com>

* add comment

Signed-off-by: bufferflies <1045931706@qq.com>

* squash

Signed-off-by: bufferflies <1045931706@qq.com>

* revert all to All

Signed-off-by: bufferflies <1045931706@qq.com>

* remove index from entry

Signed-off-by: bufferflies <1045931706@qq.com>

* make fail reasons more clear

Signed-off-by: bufferflies <1045931706@qq.com>

---------

Signed-off-by: bufferflies <1045931706@qq.com>
2024-02-21 14:54:33 +08:00
zyguan 0f8c594090
fix data race in ut (#1161)
Signed-off-by: zyguan <zhongyangguan@gmail.com>
2024-02-19 11:43:20 +08:00
Weizhen Wang 4bb62b6db7
upgrade grpc (#1156)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-02-18 11:41:12 +08:00
cfzjywxk 11cb7985f0
txn: enable pessimistic region rollback (#1149)
* enable pessimistic region rollback

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

* add key range parameters

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

* change interface to use start and end keys

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

---------

Signed-off-by: cfzjywxk <cfzjywxk@gmail.com>
2024-02-05 15:11:26 +08:00
zyguan 8b3b01e8d7
introduce a random jitter to region cache ttl (#1148)
* introduce a random jitter to region cache ttl

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

* refactor searching cached region

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

* observe load region by reason

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

* address the comment

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
2024-02-02 20:13:23 +08:00
ekexium 70c148e84e
ErrQueryInterrupted with parameters (#1124)
* feat: ErrQueryInterrupted with parameters

Signed-off-by: ekexium <eke@fastmail.com>

* Revert "Revert "fix: check kill signal against 0 (#1102)" (#1129)"

This reverts commit 3480b5ed7c.

Signed-off-by: ekexium <eke@fastmail.com>

---------

Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2024-02-02 10:26:02 +08:00
zyguan 6e501a142d
improve region reload strategy (#1122)
* refine region reload strategy

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

* fix data race in ut

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

* fix another data race

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

* access store.epoch atomic

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

* re-implement async reload by sync flags

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

* a minor optimization

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

* fix ut

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

* Update internal/locate/region_cache.go

Co-authored-by: ekexium <eke@fastmail.com>
Signed-off-by: zyguan <zhongyangguan@gmail.com>

* rename async-reload to delayed-reload

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
Co-authored-by: ekexium <eke@fastmail.com>
2024-01-31 10:14:07 +08:00
cfzjywxk d2887d56ab
txn: use region pessimsitic lock rollback to speed up cleanup (#1125)
* use region pessimsitic lock rollback and clean for write-write conflict processing

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

* format

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

* debug ci failure patch, disable region pessimistic rollback

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

---------

Signed-off-by: cfzjywxk <cfzjywxk@gmail.com>
2024-01-31 09:53:00 +08:00
glorv 5945fe3920
Merge pull request #1143 from lance6716/remove-replace
integration_tests: upgrade tidb to remove replace
2024-01-26 16:27:41 +08:00
lance6716 30684f7d3c use new interface
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-26 13:53:07 +08:00
lance6716 d1b611cbe2 integration_tests: upgrade tidb to remove replace
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-26 13:48:55 +08:00
Weizhen Wang e6f5a45b00
fix misspell (#1135)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-01-25 11:09:10 +08:00
Weizhen Wang f90605363e
support grpc's shard buffer pool (#1132)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-01-24 17:57:47 +08:00
glorv 99ea0d4d9b
Merge pull request #1123 from lance6716/update-dep
dep: update pd client
2024-01-24 16:13:43 +08:00
lance6716 20a4aa99a3 fix replace is missing
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-24 16:03:34 +08:00
lance6716 cab3a43e0e fix replace is missing
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-24 15:56:27 +08:00
lance6716 abcd9b5e50 fix go mod tidy under integration_tests
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-24 15:50:13 +08:00
lance6716 db1a348d5d update pd client
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-24 15:47:36 +08:00
lance6716 89e999557b Merge branch 'master' of github.com:tikv/client-go into update-dep
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-24 15:41:40 +08:00
zyguan e79e8008ce
fix the issue that health check may set liveness wrongly (#1127)
* fix the issue that health check may set liveness wrongly

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

* fix lint issue

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

* fix rawkv ut

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

* fix data race

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

* use getStore instead of accessing storeMu directly

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

* make TestAccessFollowerAfter1TiKVDown stable

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

* make TestBackoffErrorType stable

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

* address comments

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
Co-authored-by: disksing <i@disksing.com>
2024-01-24 15:11:01 +08:00
Weizhen Wang 1af8d0b0ca
*: upgrade grpc1.61 (#1130)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
Co-authored-by: disksing <i@disksing.com>
2024-01-24 11:39:43 +08:00
zyguan c9ecc6ed3b
fix the issue that prefer-leader doesn't try followers (#1105)
Signed-off-by: zyguan <zhongyangguan@gmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2024-01-24 11:05:38 +08:00
lance6716 9d6071477a Merge branch 'update-dep' of github.com:lance6716/client-go into update-dep 2024-01-23 16:06:13 +08:00
lance6716 cfee5d73dd fix goroutine leak
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-23 16:05:55 +08:00
lance6716 3d7ff4c3c8
Merge branch 'master' into update-dep 2024-01-23 15:23:15 +08:00
lance6716 29355d50d1 update pd
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-23 15:07:19 +08:00
MyonKeminta 3480b5ed7c
Revert "fix: check kill signal against 0 (#1102)" (#1129)
This reverts commit 057c479dd8.

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2024-01-23 13:54:05 +08:00
Weizhen Wang fd2fc84032
use slices.Sort to eliminate bounds check (#1128)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-01-23 11:24:15 +08:00
zyguan 5d0ae57f22
region_cache: restrict access to store related fields (#1106)
* region_cache: restrict access to store related fields

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

* fix a typo

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

* resolve a todo

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

* resolve an another todo

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

* limit the use of store api

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2024-01-22 21:39:56 +08:00
lance6716 77d23f7f5c update
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:16:42 +08:00
lance6716 7645850ebf
Merge branch 'master' into update-dep 2024-01-22 15:13:03 +08:00
lance6716 7d4676e27a update
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
lance6716 c3ce73e405 update replace
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
MyonKeminta 18ffa1fc5d Check time spent on attempting RPC to avoid spending too much time on retrying (#1117)
* Check time spent on attempting RPC to avoid spending too much time on retrying

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Handle refreshRegionStore

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Add test

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Address comments

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

---------

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
lance6716 5d925263d7 replace tidb package
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
lance6716 cc42d3358d go mod tidy
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
lance6716 1b8062d6fc fix lint
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-22 15:12:23 +08:00
MyonKeminta b8a65870d6
Check time spent on attempting RPC to avoid spending too much time on retrying (#1117)
* Check time spent on attempting RPC to avoid spending too much time on retrying

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Handle refreshRegionStore

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Add test

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* Address comments

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

---------

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2024-01-18 20:48:43 +08:00
lance6716 60d940f97b update mock impl
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-17 14:39:00 +08:00
lance6716 a5de69ac4d dep: update pd client
Signed-off-by: lance6716 <lance6716@gmail.com>
2024-01-17 14:25:17 +08:00
Weizhen Wang 1fd589dbf2
Change MinTLSVersion to TLSv1.2 (#1116)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-01-16 12:05:09 +08:00
MyonKeminta b1256130a5
Fix the issue that leader change with nea leader info cause invalidStore state and lead to unnecessary backoff (#1115)
* Fix the issue that leader change with nea leader info cause invalidStore
state and lead to unnecessary backoff

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

* address comments

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>

---------

Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2024-01-15 20:59:47 +08:00