rocksdb: add key order check and turn off force-consistency-checks (#8788) #8823
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
cherry-pick #8788 to release-4.0
Signed-off-by: Yi Wu yiwu@pingcap.com
What problem does this PR solve?
Problem Summary: The
force-consistency-checks
was set by default to investigate #8243 and prevent it from corrupt data further. However, the config add significant latency to writes (up to hundreds of ms) by holding global mutex. Despite effort in #8519 to reduce its performance impact, we still see it hurt performance in cases. Now that we learned the root cause of #8243, let's disable it.What is changed and how it works?
What's Changed: disable
force-consistency-checks
Also update rocksdb to include key order check:
Related changes
previous effort to optimize the config's performance: #8243
Check List
Tests: CI
Side effects: For user vulnerable to #8243 (with newer kernel version, >= 4.15, depend on distribution), without
force-consistency-checks
it may cause data corruption.Release note
force-consistency-checks
by default to improve performance.