Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ingesting snapshots hurts TiKV's write latency #5911

Open
hicqu opened this issue Nov 15, 2019 · 1 comment
Open

Ingesting snapshots hurts TiKV's write latency #5911

hicqu opened this issue Nov 15, 2019 · 1 comment
Labels
help wanted Help wanted. Contributions are very welcome!

Comments

@hicqu
Copy link
Contributor

hicqu commented Nov 15, 2019

Feature Request

Is your feature request related to a problem? Please describe:

We can do dynamic membership change in a TiKV cluster. New added replicas will be initialized when a store receives some initial messages, and they will become activity after apply a snapshot from their leaders.
Currently the snapshot apply mechanism is implemented with RocksDB's ingest_external_sstfile API, which will cause latency jitter.
The problem is partially resolved by #3775, by not at root. It's better to remove the internal global mutex during ingesting snapshots.

Describe the feature you'd like:

Removing the internal global mutex during ingesting snapshots, to reduce .99 latency of TiKVs.

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

Ingesting sst files: https://github.com/facebook/rocksdb/wiki/Creating-and-Ingesting-SST-files

@hicqu hicqu added the help wanted Help wanted. Contributions are very welcome! label Nov 15, 2019
@hicqu hicqu added this to To Do in Improve Latency Jitter Nov 15, 2019
@Connor1996
Copy link
Member

I'd like to take some investigation later

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Help wanted. Contributions are very welcome!
Projects
No open projects
Development

No branches or pull requests

2 participants