Commit Graph

812 Commits

Author SHA1 Message Date
Neil Shen 245d2c39cc
go.mod: update kvproto (#1492)
Signed-off-by: Neil Shen <overvenus@gmail.com>
2024-11-15 06:51:08 +00:00
you06 86678db6fd
membuffer: fix memory leak in red-black tree (#1483)
close tikv/client-go#1375, ref pingcap/tidb#56837

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

Co-authored-by: cfzjywxk <cfzjywxk@gmail.com>
2024-11-14 14:41:17 +00:00
ShuNing 70049ae310
mod: update pd client (#1490)
Signed-off-by: nolouch <nolouch@gmail.com>
2024-11-11 09:02:27 +00:00
MyonKeminta 23531ad618
Support adaptive update interval for low resolution ts (#1484)
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2024-11-11 07:51:03 +00:00
you06 c154447fa5
membuffer: compare the keys of ART by chunk (#1482)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-11-07 08:45:30 +00:00
you06 0232600d68
membuffer: improve ART's code and test coverage (#1477)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-10-31 01:41:22 +00:00
cfzjywxk 691e80ae0e
region cache: retry scan or batch scan regions when returned region has no leader (#1480)
Signed-off-by: cfzjywxk <cfzjywxk@gmail.com>
2024-10-23 02:31:20 +00:00
lance6716 8dfa86b5d1
dep: update github.com/dgryski/go-farm (#1476)
ref pingcap/tidb#56635

Signed-off-by: lance6716 <lance6716@gmail.com>
2024-10-15 06:50:14 +00:00
Ti Chi Robot f898214f67
OWNERS: Auto Sync OWNERS files from community membership (#1475)
Signed-off-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
2024-10-14 17:14:00 +00:00
Weizhen Wang e30a3e6e3a
*: upgrade go1.23 (#1473)
Signed-off-by: Weizhen Wang <wangweizhen@pingcap.com>
2024-10-11 06:35:57 +00:00
ekexium bce97bbb3e
Do not broadcast txn status when heartbeat fail (#1471)
Signed-off-by: ekexium <eke@fastmail.com>
2024-10-10 05:27:19 +00:00
you06 c3e10ae7c8
membuffer: implement cache for ART (#1470)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-10-08 08:58:09 +00:00
you06 58f3322fc3
membuffer: implement snapshot get and iterator for ART (#1467)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-09-25 07:03:02 +00:00
ekexium 527f80a186
feat: Broadcast min_commit_ts for pipelined transactions (#1458)
Signed-off-by: ekexium <eke@fastmail.com>
2024-09-25 01:34:14 +00:00
you06 7d0f0bc93b
membuffer: support iterator for ART (#1466)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-09-24 11:38:48 +00:00
you06 271945f345
membuffer: support staging & checkpoint for ART (#1465)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-09-23 03:55:13 +00:00
you06 6beede6998
membuffer: implement ART with basic get/set (#1451)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-09-18 09:25:22 +00:00
crazycs e7894a7b27
config: change grpc-keepalive-timeout from uint to float64, for support millisecond timeout (#1461)
Signed-off-by: crazycs520 <crazycs520@gmail.com>

Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com>
2024-09-11 04:15:06 +00:00
Ti Chi Robot 28135fd9d4
OWNERS: Auto Sync OWNERS files from community membership (#1460)
Signed-off-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
2024-09-09 12:12:20 +00:00
Ti Chi Robot 287b364bd6
OWNERS: Auto Sync OWNERS files from community membership (#1459)
Signed-off-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
2024-09-09 03:18:51 +00:00
YangKeao f0ea917499
transaction: add hook for async commit to track the life cycle of the async-commit goroutine and secondary lock cleanup goroutine (#1432)
Signed-off-by: Yang Keao <yangkeao@chunibyo.icu>
2024-09-04 09:21:32 +00:00
you06 6b1453c358
memdb: use atomic u64 addr to reduce allocation (#1453)
Signed-off-by: you06 <you1474600@gmail.com>
2024-08-28 04:00:17 +00:00
you06 41d133b6b6
membuffer: refactor the memdb to support multi implementations (#1426)
ref pingcap/tidb#55287

Signed-off-by: you06 <you1474600@gmail.com>
2024-08-23 03:46:43 +00:00
you06 75e3705e58
memdb: fix memdb snapshot get/iter is not actually snapshot (#1393)
* fix memdb snapshot get/iter is not actually snapshot

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

* rename test

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-08-21 15:35:30 +08:00
Ti Chi Robot 77526daca4
OWNERS: Auto Sync OWNERS files from community membership (#1425)
Signed-off-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
2024-08-19 13:01:42 +00:00
Ti Chi Robot 36076b3109
Merge pull request #1421 from tikv/bot/update-owners-1723456948376
OWNERS: Auto Sync OWNERS files from community membership
2024-08-19 11:19:09 +08:00
cfzjywxk eb941f71c3
Merge branch 'master' into bot/update-owners-1723456948376 2024-08-16 11:38:01 +08:00
you06 c810ed88fb
region_request: remove backoff for stale read (#1423)
* remove stale read backoff

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

* sort imports

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-08-15 10:09:19 +08:00
yibin 0820519da7
Add GetTimeDetail for SnapshotRuntimeStats (#1422)
Signed-off-by: yibin <huyibin@pingcap.cn>
2024-08-14 14:30:31 +08:00
zyguan 4c6b2171b2
improve batch efficiency for high throughput workloads (#1411)
* improve batch efficiency by multiple attempts

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

* add support for aggressive batching

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

* add some metrics for batch client

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

* fetch more requests according to recent wait head durs

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

* add experimental batch options

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

* optimize and refactor

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

* some minor updates

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

* fix the metric of head arrival interval

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

* a minor update

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

* some minor fixes

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

* update according to the spec

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

* fix the ut

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

* fix batch condition

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

* add some doc comments

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

* address https://github.com/tikv/client-go/pull/1411#discussion_r1714086744

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

* rename some vars according to the comments

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

* add more comments

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

---------

Signed-off-by: zyguan <zhongyangguan@gmail.com>
2024-08-13 12:55:44 +08:00
Ti Chi Robot 0b3507ccd9 [skip ci] Update OWNERS file
skip-checks: true
Signed-off-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
2024-08-12 18:02:31 +08:00
Shenghui Wu f0f57f28c4
region cache: batch find regions by key ranges from cache (#1410)
* try

add benchmark

Signed-off-by: wshwsh12 <793703860@qq.com>

* impl

Signed-off-by: wshwsh12 <793703860@qq.com>

* time

Signed-off-by: wshwsh12 <793703860@qq.com>

* fix ut

Signed-off-by: wshwsh12 <793703860@qq.com>

* address comments

Signed-off-by: wshwsh12 <793703860@qq.com>

* startkey

Signed-off-by: wshwsh12 <793703860@qq.com>

* add comments

Signed-off-by: wshwsh12 <793703860@qq.com>

---------

Signed-off-by: wshwsh12 <793703860@qq.com>
Co-authored-by: you06 <you1474600@gmail.com>
2024-08-09 15:36:57 +09:00
ekexium aa8b33873f
Let memdb cache last traversed node (#1389)
* opt: let memdb cache last traversed node

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

* add a switch

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

* use atomic pointer

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

* fix: invalidate cache if the node is deleted

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

* feat: log flush_wait_duration (#1391)

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

* feat: add cache metrics

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

* opt: parent node tracking in traverse

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

* opt: isNull

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

* log: silence verbose failpoint log

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

* metrics: track traverse duration

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

* Revert "metrics: track traverse duration"

This reverts commit 05fc82bad51711c5f0fadf7936e118ed2c4990ab.

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

* fix: flush wait

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

* fix: duration logs

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

* refine log message

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

---------

Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2024-08-08 17:20:52 +08:00
crazycs cd64e24de8
fix issue that store's liveness may incorrectly marked as unreachable when the store restarts with label changed (#1407)
* add test

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

* fix

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

* fix ci

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-08-01 19:02:26 +08:00
crazycs eec8198343
refine region request debug log (#1408)
Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-07-31 17:42:29 +08:00
ekexium 3ac46e8171
fix: duration logs (#1405)
Signed-off-by: ekexium <eke@fastmail.com>
2024-07-31 13:12:27 +08:00
ekexium fce0abfd82
Let pipelined memdb ignore bufferLimit (#1392)
* fix: pipelined memdb ignores bufferLimit

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

* refactor: introduce unlimitedSize

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

* refactor: unlimitedSize

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

---------

Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2024-07-29 12:13:17 +08:00
ekexium 88ce38492f
feat: log flush_wait_duration (#1391)
Signed-off-by: ekexium <eke@fastmail.com>
2024-07-23 09:16:43 +08:00
you06 d73cc1ed65
region cache: check if the pd returned regions covers the ranges (#1377)
* add reproduce test

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

* check if the pd returned regions covers the ranges

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

* handle limit

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

* fix lint

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

* add TODO for  func

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

* update tidb for integration test

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

* rename gap detection function

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

* address comment

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

* address comment

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

* add half bounded cases

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-07-03 17:58:01 +08:00
you06 0206a3c142
region cache: fallback to ScanRegions when BatchScanRegions receive unimplement error (#1378)
* add fallback

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

* fallback to ScanRegions when BatchScanRegions receive unimplement error

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

* add comment & test

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-07-03 15:38:53 +08:00
crazycs 4a72526f6c
add enable-replica-selector-v2 config back but mark it was deprecated (#1374)
* add enable-replica-selector-v2 config back but mark it was deprecated

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

* update comment

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-06-26 14:42:48 +08:00
you06 14f3d2b5b7
region cache: add `BatchLocateKeyRanges` interface (#1367)
* add batch scan interface

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

fix bug

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

copy encoded ranges

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

fix panic

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

add batch scan region test

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

fix log

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

remove need-leader option

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

remove need-leader optino

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

add comment

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

deprecate ScanRegions

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

update kvproto & pd client

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

update go.mod

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

fix need leader

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

fix integration test

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

fix lint

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

export BatchLocateKeyRangesOpt

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

update integration test's tidb

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

refactor BatchLocateKeyRanges and add comments

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

* update tidb of integration test

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

* remove key in error since redact is not supported

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

* remove key in error since redact is not supported

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

* address comment

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

---------

Signed-off-by: you06 <you1474600@gmail.com>
2024-06-24 16:06:06 +08:00
yibin d4f0f4cf12
Revert "upgrade grpc 1.64 (#1346)" (#1369)
This reverts commit 1c06c5cbf5.

Signed-off-by: yibin <huyibin@pingcap.com>
2024-06-21 17:03:19 +08:00
ShuNing 4f2562f987
region_request: ignore resource group errors that not relative storage layer (#1354)
Signed-off-by: nolouch <nolouch@gmail.com>
2024-06-20 13:57:02 +08:00
ekexium ac8fa1d73a
feat: introduce a new method MemHookSet (#1362)
Signed-off-by: ekexium <eke@fastmail.com>
2024-06-14 14:44:55 +08:00
JmPotato 156cebc2de
Update the PD client to adopt the latest fix/optimization (#1360)
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2024-06-04 12:57:05 +08:00
crazycs cb580bc4ea
fix rpc client panic cause by concurrent close (#1359)
* fix rpc client panic cause by concurrent close

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

* address comment

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

* refine

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-05-31 18:21:21 +08:00
ystaticy 1f814b7a45
add func for new test keyspace tikv store (#1356) 2024-05-30 17:52:57 +08:00
MyonKeminta a6335a5aaf
Fix the problem that statement being oom-killed within DoneAggressiveLocking causing the transaction still in aggressive locking state (#1355)
* Quick fix the problem that statement being oom-killed within DoneAggressiveLocking causing the transaction still in aggressive locking state

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

* Add comments to explain the change

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-05-30 16:20:09 +08:00
crazycs 0cc1c5239d
Remove old replica selector (#1265)
* remove EnableReplicaSelectorV2 config

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

* remove replicaSelectorV1

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

* refine code

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

* refine code

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

* refine code

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

* add replica flag to reduce struct size

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

* remove contextPatcher

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

* use option.preferLeader

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

* refine code

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

* fix test

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

* refine code

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

* fix test

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

---------

Signed-off-by: crazycs520 <crazycs520@gmail.com>
2024-05-27 17:11:02 +08:00