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

rocksdb: add key order check and turn off force-consistency-checks (#8788) #8823

Closed

Conversation

ti-srebot
Copy link
Contributor

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:

488fb41 2020-10-11 66930949+ti-srebot.. rocksdb: Add compaction order check and data block cache check (#546)

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

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor Author

/run-all-tests

@yiwu-arbug
Copy link

Will not cherry-pick this change now. Closing.

@yiwu-arbug yiwu-arbug closed this Oct 14, 2020
@yiwu-arbug yiwu-arbug deleted the release-4.0-1f5504fffad9 branch October 14, 2020 04:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/rocksdb Component: RocksDB engine sig/engine SIG: Engine type/cherry-pick Type: PR - Cherry pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants