client-rust
client-rust copied to clipboard
Rust Client for TiKV.
Current process: 1. lock all keys 2. start heartbeat Consider we lock a lot of keys in a single command, which takes a long time. Before the heartbeat begins, some...
A region cache caches the region information in the client and saves unnecessary queries to PD. It's key to performance. The previous UCP challenge #114 didn't finish the task. We'll...
Synchronous API is easier for new users to get started but can be less efficient. The easiest way to do it is simply `block_on` each async API. - [ ]...
Currently we have `DEFAULT_REGION_BACKOFF`, `OPTIMISTIC_BACKOFF`, and `PESSIMISTIC_BACKOFF`. The same `Backoff` is used almost everywhere in a certain transaction. - [ ] There can be more fine-grained `Backoff`s for better performance...
For example, cache should have a limit on size.
We use several tokio components in the code, which requires the tokio runtime. ~We should replace them with runtime independent ones, e.g. `futures-timer`.~ If we cannot get rid of it,...
Cleanup is deprecated from v4.0 onwards. I've started implementation (along with async commit lock resolution) but have got a bit bogged down with the retry logic).
This shouldn't be the default since it means doing a lot of work in `drop` and work which can cause errors (and thus double panics), but it would be a...