UCP: support resolving locks of specific keys
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 425
- Forks
- 163
- Avg merge
- 10h 51m
- Merged PRs (30d)
- 3
Description
Description
Normal resolve lock scans the whole region for locks. With resolve lock lite, we resolve only the specified locks. This can reduce TiKV's load when there are a lot of conflicts.
Task breakdown:
- Add an interface resolve_lock_specified_keys, the protocol is:
message ResolveLockRequest {
Context context = 1;
uint64 start_version = 2;
// If the txn is rolled back, do not set it.
uint64 commit_version = 3;
repeated TxnInfo txn_infos = 4;
// Only resolve specified keys.
repeated bytes keys = 5;
}
Set specified keys for ResolveLockRequest.
Difficulty
- Medium
Score
- 300
Mentor(s)
- @sticnarf
Recommended Skills
- Rust
- TiKV Transaction Model
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing resolve-lock interface and the ResolveLockRequest protocol linked in the issue. Trace how normal lock resolution builds and sends its request, then add the specified-key path so keys are included. Done means the interface exists and resolution targets only the supplied keys without scanning the whole region.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100