ekexium
dcb62bb121
Trace events ( #1776 )
...
ref pingcap/tidb#64008
Signed-off-by: ekexium <eke@fastmail.com>
2025-10-23 14:33:37 +00:00
you06
e0e4cda310
txn: check constraints for all keys in nextgen build ( #1753 )
...
ref tikv/tikv#11187
Signed-off-by: you06 <you1474600@gmail.com>
2025-09-11 06:28:27 +00:00
zyguan
b7e019d315
txnkv: prevent some actions from being interrupted by kill ( #1665 )
...
fix pingcap/tidb#61454
Signed-off-by: zyguan <zhongyangguan@gmail.com>
2025-06-27 07:41:09 +00:00
王超
1880726302
txn: fix the implemention of undetermined error ( #1644 )
...
close tikv/client-go#1641
Signed-off-by: Chao Wang <cclcwangchao@hotmail.com>
2025-05-20 11:30:40 +00:00
王超
d1ec4b4f67
txn: handle undetermined error in client go ( #1642 )
...
close tikv/client-go#1641
Signed-off-by: Chao Wang <cclcwangchao@hotmail.com>
2025-05-20 07:00:04 +00:00
tangenta
e53096d518
support redact key in logs ( #1612 )
...
ref pingcap/tidb#59279
Signed-off-by: tangenta <tangenta@126.com>
Co-authored-by: you06 <you1474600@gmail.com>
2025-04-01 07:17:12 +00:00
Shirly
d22ee9141d
txnkv/transaction/prewrite: tiny refactor HandleSingleBatch ( #1529 )
...
Signed-off-by: AndreMouche <AndreMouche@126.com>
2025-01-15 12:23:16 +00:00
ekexium
743aec19e4
Allow configuring the policy when prewrite encounters lock ( #1501 )
...
Signed-off-by: ekexium <eke@fastmail.com>
2025-01-02 05:53:15 +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
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
ekexium
e02b025475
log: only log the first lock in every flush or prewrite response ( #1295 )
...
* log: only log the first lock in every flush or prewrite response
Signed-off-by: ekexium <eke@fastmail.com>
* log each conflicting txn at most once
Signed-off-by: ekexium <eke@fastmail.com>
* log: ttlManager
Signed-off-by: ekexium <eke@fastmail.com>
---------
Signed-off-by: ekexium <eke@fastmail.com>
2024-04-18 16:47:21 +08:00
ekexium
d7000ea557
feat: pipelined dml has its own max-txn-ttl of 24 hours ( #1224 )
...
* feat: pipelined dml has its own max-txn-ttl of 24 hours
Signed-off-by: ekexium <eke@fastmail.com>
* fix gh actions
Signed-off-by: ekexium <eke@fastmail.com>
* style: fix lint
Signed-off-by: ekexium <eke@fastmail.com>
---------
Signed-off-by: ekexium <eke@fastmail.com>
2024-03-14 10:54:19 +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
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
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
MyonKeminta
92db9f7b15
Support specifying checking forUpdateTS in prewrite ( #756 )
...
* Support specifying checking forUpdateTS in prewrite
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix go mod in tests
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Add successful cases to the test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Fix test
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Update dependencies
Signed-off-by: MyonKeminta <MyonKeminta@users.noreply.github.com>
* Check LockedWithConflictTS greater than requested ForUpdateTS
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>
2023-04-17 14:53: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
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
xiongjiwei
e9db9e6a8a
make `txn_source` be u64 type ( #618 )
...
Signed-off-by: xiongjiwei <xiongjiwei1996@outlook.com>
2022-11-21 10:50:13 +08:00
xiongjiwei
e72337b647
txn: add `txn_source` field in txn ( #617 )
...
Signed-off-by: xiongjiwei <xiongjiwei1996@outlook.com>
2022-11-15 13:18:26 +08:00
ekexium
ffaaf7131a
Don't let pessimistic txn prewrite in the optimistic way ( #584 )
...
* don't let pessimistic txn prewrite in the optimistic way even if it does not lock any key
Signed-off-by: ekexium <eke@fastmail.com>
* add a todo
Signed-off-by: ekexium <eke@fastmail.com>
Signed-off-by: ekexium <eke@fastmail.com>
2022-09-13 13:15:14 +08:00
ekexium
426055b575
Distinguish different types of write conflicts ( #583 )
...
* distinguish different types of write conflicts
Signed-off-by: ekexium <eke@fastmail.com>
* update kvproto; add write conflict reason
Signed-off-by: ekexium <eke@fastmail.com>
Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-09-08 19:49:57 +08:00
ekexium
0130f76738
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>
2022-08-30 15:38:39 +08:00
cfzjywxk
0d0ae0dcfb
txn: seperate prewrite and commit in detail information and add clone methods ( #567 )
...
* seperate the prewrite and commit primary in runtime info
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
* fix the integration test
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
Signed-off-by: cfzjywxk <lsswxrxr@163.com>
2022-08-18 16:48:34 +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
ekexium
e69cd80e58
Preserve is_retry_request flag for prewrite when retrying with region errors ( #513 )
...
* add a test to verify the incorrect setting of is_retry_request
Signed-off-by: ekexium <ekexium@gmail.com>
* preserve the retry flag for prewrite
Signed-off-by: ekexium <ekexium@gmail.com>
* fix test
Signed-off-by: ekexium <ekexium@gmail.com>
* add more explanations
Signed-off-by: ekexium <ekexium@gmail.com>
2022-05-31 16:04:28 +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
Ziqian Qin
190a4d190c
fix the vulnerability of atomicity in async commit ( #492 )
...
* fix the vulnerability of atomicity in async commit
Signed-off-by: ekexium <ekexium@gmail.com>
Revert "fix the vulnerability of atomicity in async commit"
This reverts commit b0b34c56168ba288e1619e66e626321365cb0921.
tidy up
Signed-off-by: ekexium <ekexium@gmail.com>
* add test
Signed-off-by: ekexium <ekexium@gmail.com>
* shorten the time of the test
Signed-off-by: ekexium <ekexium@gmail.com>
* fix test
Signed-off-by: ekexium <ekexium@gmail.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
2022-05-13 17:09:52 +08:00
Ziqian Qin
e31ba21ae0
add a failpoint for sleep ( #460 )
...
Signed-off-by: ekexium <ekexium@gmail.com>
Co-authored-by: Yilin Chen <sticnarf@gmail.com>
Co-authored-by: disksing <i@disksing.com>
2022-04-11 21:34:25 +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
3b9f591c3f
txnkv: add callback for setting ResourceGroupTag ( #368 )
...
* Replace resourceGroupTag with resourceGroupTagFactory(firstKey)
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Fix npe
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Abstract ResourceGroupFactory
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Optimized as ResourceGroupTagger
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Add test for resource group tagger
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Fix unexpected request failed in mock store
Signed-off-by: mornyx <mornyx.z@gmail.com>
* Fix integration tests
Signed-off-by: mornyx <mornyx.z@gmail.com>
Co-authored-by: Wenxuan <breezewish@pingcap.com>
2021-11-14 19:11:14 -08:00
Yilin Chen
6ac6a8daf2
Abort if the mismatching lock is from the current transaction when resolving locks ( #367 )
...
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
2021-11-10 10:15:56 +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
tier-cap
14892a598e
*: allow to custom disk_full_opt for transactions ( #256 )
...
Signed-off-by: tier-cap <zhengxiaojin@pingcap.com>
2021-08-06 16:56:16 +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