ekexium
2ea84a6c5a
feat: check kill signal in 2pc committer ( #1084 )
...
Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: disksing <i@disksing.com>
2023-12-26 14:54:34 +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
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
ekexium
67e56a956f
For KeyIsLocked error reported for timeout, if a lock is recently updated, don't try to resolve it. ( #758 )
...
* update client-go; format
Signed-off-by: ekexium <eke@fastmail.com>
* feat: do not resolve lock if duration_to_last_updated is short
Signed-off-by: ekexium <eke@fastmail.com>
* adjust the threshold to 1200ms to allow small deviation
Signed-off-by: ekexium <eke@fastmail.com>
* fix: don't treat it as WriteConflict, simply retry
Signed-off-by: ekexium <eke@fastmail.com>
* update kvproto
Signed-off-by: ekexium <eke@fastmail.com>
* set the threshold to 300ms
Signed-off-by: ekexium <eke@fastmail.com>
---------
Signed-off-by: ekexium <eke@fastmail.com>
2023-04-13 16:14:28 +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
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
wjHuang
2d2a3fa00e
*: remove the support of `amend transaction` ( #635 )
...
* done
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
* done
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
* fix test
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
* fix lint
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
* fix test
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
* fix
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
2023-01-09 16:30:27 +08:00
glorv
4e1d38d8f8
add resource group name in request context ( #650 )
...
Signed-off-by: glorv <glorvs@163.com>
2023-01-09 15:18:45 +08:00
MyonKeminta
5dc09b15e7
Add aggressive-locking mechanism and support locking with conflict ( #528 )
...
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
2022-12-01 11:03:39 +08:00
Yilin Chen
8dfd76bf46
Acquire read lock in LockKeys to avoid data race ( #585 )
...
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2022-10-10 23:14:53 +08:00
TonsnakeLin
fed87c9939
PessimisticLock: Lock the specified key only if the key exists ( #561 )
...
* optimize for lock if exists
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* fix bugs for lock if exists
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* optimize lock info
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* fix bugs
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* remove the contrl flag for lock stats
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* update kvproto
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* change to LockOnlyIfExists
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* update kvproto
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* change to LockOnlyIfExists
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* make test pass
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* Update txnkv/transaction/txn.go
Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com>
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* *: add getPDClient to rawKV public api (#570 )
Signed-off-by: dongxu <i@huangdx.net>
Signed-off-by: dongxu <i@huangdx.net>
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* Update README.md (#571 )
Signed-off-by: dongxu <i@huangdx.net>
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* update dependency of integration test (#572 )
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* Support postponed conflict check (#556 )
* replace kvproto
Signed-off-by: ekexium <eke@fastmail.com>
* support NeedConflictCheck
Signed-off-by: ekexium <eke@fastmail.com>
* fix mutation encoding
Signed-off-by: ekexium <eke@fastmail.com>
* support temporary flag
Signed-off-by: ekexium <eke@fastmail.com>
* update kvproto
Signed-off-by: ekexium <eke@fastmail.com>
* fix style
Signed-off-by: ekexium <eke@fastmail.com>
* add an option to enable the behavior
Signed-off-by: ekexium <eke@fastmail.com>
* replace AfterCheckPoint with existing canModity
Signed-off-by: ekexium <eke@fastmail.com>
* UpdateFlag do not unset temporary flag
Signed-off-by: ekexium <eke@fastmail.com>
* remove unused function
Signed-off-by: ekexium <eke@fastmail.com>
* update tidb dependency
Signed-off-by: ekexium <eke@fastmail.com>
update tidb dependency
Signed-off-by: ekexium <eke@fastmail.com>
* fix test
Signed-off-by: ekexium <eke@fastmail.com>
* do no unset flag on read
Signed-off-by: ekexium <eke@fastmail.com>
* update tidb dependency
Signed-off-by: ekexium <eke@fastmail.com>
* update comment
Signed-off-by: ekexium <eke@fastmail.com>
Signed-off-by: ekexium <eke@fastmail.com>
* add testcase
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* add test case
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* unset pk if lockifexits failed
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* fix format
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* LockOnlyIfExists only when pk selected
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* remove test function to txn_probe
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* add more info to error
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* add more info to error
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
* add protection for input key
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
Signed-off-by: TonsnakeLin <lpbgytong@163.com>
Signed-off-by: dongxu <i@huangdx.net>
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com>
Co-authored-by: dongxu <i@huangdx.net>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
Co-authored-by: ekexium <eke@fastmail.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-09-06 09:50:26 +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
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
龙方淞
7ba562bc68
txn: record resolving locks ( #473 )
...
* record resolving locks
Signed-off-by: longfangsong <longfangsong@icloud.com>
* rename to ResolvingLock
Signed-off-by: longfangsong <longfangsong@icloud.com>
* Add test probe for resolving
Signed-off-by: longfangsong <longfangsong@icloud.com>
* refactor according to comments
Signed-off-by: longfangsong <longfangsong@icloud.com>
* Add ResolveLocksDone for other call of ResolveLocks
Signed-off-by: longfangsong <longfangsong@icloud.com>
* Update txnkv/txnlock/lock_resolver.go
Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com>
Signed-off-by: longfangsong <longfangsong@icloud.com>
* Update to new design
Signed-off-by: longfangsong <longfangsong@icloud.com>
Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-05-17 11:13:16 +08:00
龙方淞
cd7e7681c2
Update lock ttl when retry to pessimistic lock keys ( #417 )
...
Signed-off-by: longfangsong <longfangsong@icloud.com>
2022-03-10 16:10:47 +08:00
MyonKeminta
b5eb031edd
Support setting assertions and receiving assertion errors for Prewrite requests ( #311 )
...
* support set assertion in 2pc mutation
Signed-off-by: lysu <sulifx@gmail.com>
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Receive assertion fail errors from TiKV
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add test log
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Remove verbose log
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* update kvproto
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add metrics counter for assertions
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Address some comments
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Try to optimize assertion for pessimistic transactions
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix panic on optimistic transactions
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add InitCheckExistence method for LockCtx
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Support assertion level
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Check assertion level before doing assertion on client side
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Test bitoperations of menBUfferMutations.Push
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add test for assertion in tikv
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Support run assertion test with unistore
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix license
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* export DeleteKey
Signed-off-by: ekexium <ekexium@gmail.com>
* Renaming DeleteKey
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* fix build
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Address comments
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Avoid panic when running with old version of TiKV; Add schema check on fast assertion
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add test for fast assertion
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add test for pessimistic lock check existence
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Test assertion takes no effect if amending is enabled
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add HasAssertUnknown function
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add comments
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Cleanup locks after assertion fail
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* update tidb dependency
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix panic in TestIllegalTSO
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Address comments
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add comments
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Update dependency to tidb
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: lysu <sulifx@gmail.com>
Co-authored-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
Co-authored-by: ekexium <ekexium@gmail.com>
2022-02-10 15:31:32 +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
Yexiang Zhang
b11da6307c
txnkv: add ResourceGroupTagger for PessimisticLockRequest ( #381 )
...
* Add ResourceGroupTagger for PessimisticLockRequest
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Fix circular dependency
Signed-off-by: mornyx <mornyx.z@gmail.com>
2021-11-18 23:41:39 +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
2d145163d0
txnkv/transaction: remove use of errors.Trace ( #351 )
...
Signed-off-by: disksing <i@disksing.com>
2021-10-27 10:13:37 +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
disksing
288c649636
fix license ( #267 )
...
Signed-off-by: disksing <i@disksing.com>
2021-08-15 01:48:01 +08:00
Yilin Chen
6f33dd97af
Start heartbeat immediately after locking the primary key ( #261 )
...
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2021-08-06 11:14:25 +08:00
disksing
d535b62b62
txnkv/transaction: init package ( #260 )
...
Signed-off-by: shirly <AndreMouche@126.com>
Co-authored-by: disksing <i@disksing.com>
2021-07-31 16:26:22 +08:00