Support KeySpace
@iosmanthus is already working on this.
Since Jul 15, 2022.
- Dominant language
- Rust
- Stars
- 425
- Forks
- 163
- Avg merge
- 10h 51m
- Merged PRs (30d)
- 3
Description
KeySpace is fundamental for transaction safety and multi-tenant features for TiKV. This is the tracking issue for the feature in client-rust. For tracking issues of other components, check:
- TiKV: https://github.com/tikv/tikv/issues/12999
- PD: https://github.com/tikv/pd/issues/5293
- client-go: https://github.com/tikv/client-go/issues/545
Currently, https://github.com/tikv/client-rust/pull/353 has introduced a new type parameter for both the transaction and the raw client to support an extensible request codec. We have two implementations for now: plain API V1 and API V2 with the keyspace feature. However, we only support constructing a new API V2 instance by ApiV2::default(). More new functions should be provided to enable users to create keyspaces by keyspace_name or keyspace_id. This requires:
- implement acquiring keyspace info from PD. @iosmanthus
- introduces a keyspace cache for each instance of the client. @iosmanthus
- unit/integration tests for API v2 @iosmanthus
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.
Assessment
This issue has not been assessed yet.