pingcap/tidb
View on GitHubEliminate unnecessary `PessimisticRollback` when write conflict occurs
Open
#17,597 opened on Jun 2, 2020
challenge-programhelp wantedsig/transactiontype/enhancement
Repository metrics
- Stars
- (40,090 stars)
- PR merge metrics
- (Avg merge 14d 4h) (346 merged PRs in 30d)
Description
Description
When TiDB fails to acquire pessimistic locks due to write conflict, it sends PessimisticRollback to release all locks the DML needs to lock because it's possible some keys needn't be locked after retry. However, the probability is small and PessimisticRollback brings overhead:
- TiKV process more requests and write more locks.
- A transaction releases all its locks and if it needs to lock them again, maybe some locks are held by other ones.
Score
- 4000
SIG Slack Channel
You can join #sig-transaction on slack in your spare time to discuss and get help with mentors or others.
Mentor(s)
- @youjiali1995
Contact the mentors: #tidb-challenge-program channel in TiDB Community Slack Workspace
Recommended Skills
- Golang
- TiDB
- Pessimistic transaction