Commit Graph

49 Commits

Author SHA1 Message Date
yibin 157f083989
Fix backoff lose info when forked (#1627)
ref pingcap/tidb#60271

Signed-off-by: yibin87 <huyibin@pingcap.com>
2025-04-21 02:21:14 +00:00
okJiang aa7301d4bc
pdclient: Add caller info to pd client (#1516)
ref tikv/pd#8593

Signed-off-by: okJiang <819421878@qq.com>
2025-03-04 01:42:09 +00:00
JmPotato ff126df68a
Upgrade the PD client to adopt the latest refactor (#1525)
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2024-12-20 05:23:27 +00:00
MyonKeminta 06d7f4b923
Try to validate read ts for all RPC requests (#1513)
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2024-12-09 09:49:30 +00: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
Smilencer 6ba909c4ad
config: enable user configuration for retry strategy. (#1055)
Signed-off-by: Smityz <smityz@qq.com>
Co-authored-by: disksing <i@disksing.com>
2023-11-14 14:54:10 +08:00
healthwaite 33e722ef0b
Call pd.NewClientWithContext in NewClientWithOpts (#1019)
Signed-off-by: Alex Reid <areid@akamai.com>
Co-authored-by: disksing <i@disksing.com>
2023-10-20 15:39:44 +08:00
Hangjie Mo 2f119351bd
*: add `SnapshotIterReverse` and make `iterReverse` supports `lowerBound` (#883)
Signed-off-by: Jason Mo <mohangjie1995@gmail.com>
2023-07-14 10:36:07 +08:00
ekexium f3e87039d8
Finer `is_retry_request` settings (#763)
* set is_retry_request only for requests that is possible to have undetermined errors

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

* rename tryTimes to retryTimes

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

---------

Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
2023-04-10 10:39:43 +08:00
Ping Yu b3c491995e
fix context leak in BatchDelete (#704)
Signed-off-by: Ping Yu <yuping@pingcap.com>
2023-02-15 15:57:57 +08:00
Ping Yu 9b06301c47
fix context leak in rawkv.BatchPut (#697)
Signed-off-by: Ping Yu <yuping@pingcap.com>
2023-02-08 11:19:21 +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
Ping Yu f0ef29bccd
rawkv: permit empty value (#612)
Signed-off-by: pingyu <yuping@pingcap.com>
2022-10-31 12:25:56 +08:00
dongxu 46dcf45f77
*: add getPDClient to rawKV public api (#570)
Signed-off-by: dongxu <i@huangdx.net>

Signed-off-by: dongxu <i@huangdx.net>
2022-08-25 11:09:33 +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
haojinming 681fb6e537
[RawKV] support checksum (#519)
Signed-off-by: haojinming <jinming.hao@pingcap.com>

Co-authored-by: iosmanthus <dengliming@pingcap.com>
2022-06-22 16:08:35 +08:00
disksing c7fbfc2641
add comment for rawkv scans (#462)
Signed-off-by: disksing <i@disksing.com>
2022-04-06 15:43:15 +08:00
Zak Zhao 8c3f29a55f
Add options parameters in API CompareAndSwap (#433)
Signed-off-by: joccau <zak.zhao@pingcap.com>
2022-03-03 13:09:17 +08:00
Zak Zhao d3c2456967
Add a columnFamily feature for client-go when use rawput in tikv (#425)
Signed-off-by: joccau <zak.zhao@pingcap.com>
2022-03-02 11:31:44 +08:00
Matthieu Vachon c24a5ba915
rawkv: Added back `ScanOption` from `v1` but with a more standard Golang pattern (#402)
* rawkv: Added back `ScanOption` from `v1` but with a more standard Golang pattern

This enables specifying:
- KeyOnly
- Cf

#### Notes

This could also be used to remove the `ReverseScan` version and `ScanReverse` option could be used. It could be argue that `ReverseScan` is more discoverable. Happy to remove if it's decided that `ScanReverse` is discoverable enough.

Signed-off-by: Matthieu Vachon <matt@streamingfast.io>

* Fixed linting issues

Signed-off-by: Matthieu Vachon <matt@streamingfast.io>

Co-authored-by: Matthieu Vachon <matt@streamingfast.io>
2022-01-06 18:06:34 -08:00
disksing 13298f12fb
rawkv: split BatchPut and BatchPutTTL (#414)
Signed-off-by: disksing <i@disksing.com>
2022-01-06 02:46:37 -08:00
iosmanthus fe2def20bb
fix RawBatchPutRequest forward compatibility (#403)
Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
2022-01-05 22:53:06 -08:00
yiksanchan d2f0290d01
docs: make it explicit that DeleteRange deletes [start, end) (#413)
Signed-off-by: Yik San Chan <evan.chanyiksan@gmail.com>
2022-01-04 15:45:29 +08: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 a7d8ea1587
rawkv: remove use of errors.Trace (#336)
Signed-off-by: disksing <i@disksing.com>
2021-10-13 07:29:43 +00:00
daimashusheng 4f806a5442
batchput add ttl to every key (#298)
Signed-off-by: tangjk <tangjiankun1226@gmail.com>
2021-09-26 11:50:08 +00: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
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
iosmanthus f3e7dc3042
add raw key ttl feature (#222)
Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
2021-07-21 16:49:17 +08:00
iosmanthus ce04aa0bf1
add raw cas feature (#239)
Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
2021-07-21 13:52:18 +08:00
disksing 0fdc8e3d6f
rawkv: move rawkv client to rawkv (#227)
Signed-off-by: disksing <i@disksing.com>

Co-authored-by: Shirly <AndreMouche@126.com>
2021-07-13 11:56:49 +08:00
disksing aa83bed43b
Add rawkvclient with context parameters (#202)
Signed-off-by: disksing <i@disksing.com>
2021-07-01 17:15:47 +08:00
disksing 2f09a0b49d create v2 branch
Signed-off-by: disksing <i@disksing.com>
2021-06-10 19:44:46 +08:00
SIGSEGV d811a08025
Update comment for Scan (#75)
Signed-off-by: lucklove <gnu.crazier@gmail.com>
2021-04-12 13:55:29 +08:00
Connor d52d5aff79
Export TTL field (#71)
* add ttl support

Signed-off-by: Connor <zbk602423539@gmail.com>

* fix typo

Signed-off-by: Connor <zbk602423539@gmail.com>

* add get ttl api

Signed-off-by: Connor <zbk602423539@gmail.com>

* export put option field

Signed-off-by: Connor <zbk602423539@gmail.com>

* rename

Signed-off-by: Connor <zbk602423539@gmail.com>
2021-02-20 15:38:20 +08:00
Connor c3fd2ee373
Add ttl support (#70)
* add ttl support

Signed-off-by: Connor <zbk602423539@gmail.com>

* fix typo

Signed-off-by: Connor <zbk602423539@gmail.com>

* add get ttl api

Signed-off-by: Connor <zbk602423539@gmail.com>
2021-02-19 21:47:08 +08:00
disksing 00eeab450c
*: update pd client dependency (#62)
Signed-off-by: disksing <i@disksing.com>
2020-11-17 11:13:22 +08:00
Zhongyang Wu 7253be23eb
Add Keyonly option for rawKv Scan (#47)
* Add Keyonly option for rawKv Scan.

Signed-off-by: zhongyang.wu <zhongyang.wu@outlook.com>
2020-05-13 11:12:30 +08:00
LinYushen a3ebdb020c fix RowKVClient scan method can't rightly break loop (#43)
* fix RowKVClient scan method can't rightly break loop

Signed-off-by: Yushen Lin <ldnvnbl@gmail.com>

* fix rawkv Scan and ReverseScan

Signed-off-by: Yushen Lin <ldnvnbl@gmail.com>
2020-01-10 18:13:06 +08:00
disksing 27e9cc92f4
*: better metrics support (#24)
* support push metrics

Signed-off-by: disksing <i@disksing.com>

* cleanup metrics and add grafana template

Signed-off-by: disksing <i@disksing.com>

* address comment

Signed-off-by: disksing <i@disksing.com>

* minor cleanup

Signed-off-by: disksing <i@disksing.com>
2019-06-28 00:37:58 +08:00
disksing 77a15fcd87
Use context everywhere (#23)
* rawkv

Signed-off-by: disksing <i@disksing.com>

* txnkv wip

Signed-off-by: disksing <i@disksing.com>

* txnkv wip

Signed-off-by: disksing <i@disksing.com>

* txnkv update get & batchGet

Signed-off-by: disksing <i@disksing.com>

* txnkv iterators

Signed-off-by: disksing <i@disksing.com>
2019-06-20 01:18:29 +08:00
disksing 940d55927c
config: cleanup and pass config as parameter (#14)
* config: cleanup and pass config as parameter

Signed-off-by: disksing <i@disksing.com>

* fix review comments

Signed-off-by: disksing <i@disksing.com>

* fix conflicts

Signed-off-by: disksing <i@disksing.com>

* address comment

Signed-off-by: disksing <i@disksing.com>
2019-04-19 17:01:34 +08:00
disksing c1e45e6cd9 add client proxy and proxy server example (#11)
* add proxy

Signed-off-by: disksing <i@disksing.com>
2019-04-19 15:06:33 +08:00
kamijin_fanta 112f5cb76e add rawkv/ReverseScan (#13)
Signed-off-by: kamijin_fanta <kamijin@live.jp>
2019-04-19 00:24:11 +08:00
disksing 2130e26d4f
add code lint (#10)
* add code lint

Signed-off-by: disksing <i@disksing.com>
2019-03-27 11:41:47 +08:00
disksing ea8b88134e Move config variables to config package (#9)
* cleanup configurations

Signed-off-by: disksing <i@disksing.com>
2019-03-26 15:41:51 +08:00
disksing 970883c423
Replace pingap/errors with pkg/errors (#8)
* replace pingcap/errors with pkg/errors

Signed-off-by: disksing <i@disksing.com>

* get compiled

Signed-off-by: disksing <i@disksing.com>

* update meta.go

Signed-off-by: disksing <i@disksing.com>

* update txnkv.go

Signed-off-by: disksing <i@disksing.com>

* update codec.go

Signed-off-by: disksing <i@disksing.com>

* update region_cache.go

Signed-off-by: disksing <i@disksing.com>

* update mock.go

Signed-off-by: disksing <i@disksing.com>

* update txn_committer.go

Signed-off-by: disksing <i@disksing.com>

* update mvcc_leveldb.go

Signed-off-by: disksing <i@disksing.com>

* update rawkv.go

Signed-off-by: disksing <i@disksing.com>

* update snapshot.go

Signed-off-by: disksing <i@disksing.com>

* update lock_resolver.go

Signed-off-by: disksing <i@disksing.com>

* update scan.go

Signed-off-by: disksing <i@disksing.com>

* update region_request.go

Signed-off-by: disksing <i@disksing.com>

* update mvcc.go

Signed-off-by: disksing <i@disksing.com>

* update rpc.go, backoff.go client.go

Signed-off-by: disksing <i@disksing.com>

* update kv/*.go

Signed-off-by: disksing <i@disksing.com>

* update txn.go, pd.go

Signed-off-by: disksing <i@disksing.com>

* update txn/store/*

Signed-off-by: disksing <i@disksing.com>

* go mod tidy

Signed-off-by: disksing <i@disksing.com>
2019-03-21 11:01:52 +08:00
disksing af8a9cd0b8
add mockstore and rawkv tests (#2)
* add mockstore and rawkv tests

Signed-off-by: disksing <i@disksing.com>
2019-03-08 16:21:50 +08:00