Proposal: pass Mutation and RegionStore by Arc pointer
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 425
- Forks
- 163
- Avg merge
- 10h 51m
- Merged PRs (30d)
- 3
Description
Problem
Client-rust costs a lot of CPU to copy the structure. And most of this copy and allocation is to copy mutation between TransactionClient and kinds of PlanBuilder.
Solution
I think we can store these Mutation and RegionStore of RegionCache as an Arc Pointer. We only need to clone them before we really call gRPC API to send requests.
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 by tracing how Mutation and RegionStore move through TransactionClient and the various PlanBuilder types, then locate the gRPC request boundary where they are sent. The work is done when these structures avoid unnecessary copies and are cloned only before gRPC requests, with existing tests or benchmarks confirming the behavior and cost.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100