tikv / tikv/client-rust

Resolve lock bug

Open
#528 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

contribution first-time-contributor
Dominant language
Rust
Stars
425
Forks
163
Avg merge
10h 51m
Merged PRs (30d)
3

Description

https://github.com/tikv/client-rust/commit/7d80f59128196c80940cc864a90941f68514af8d#diff-3ac08ac53a85faf27689aba58b5ba02e85714d1d4e325835d018a76d48c60bf1
In this commit, the logic related to lock resolution was modified, but I've found that the current implementation is still not comprehensive enough. For example, with async commit, if only prewrite is executed and the secondary commits are never performed, subsequent reads of the written data will keep failing with "Failed to resolve lock".

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked commit and reproduce the async-commit scenario where only prewrite runs and secondary commits never occur. Trace lock resolution until a subsequent read succeeds without "Failed to resolve lock"; done means this case no longer leaves written data unreadable.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.