Reduce the impact of not using fail points#88196
Merged
Algunenano merged 3 commits intoClickHouse:masterfrom Oct 8, 2025
Merged
Reduce the impact of not using fail points#88196Algunenano merged 3 commits intoClickHouse:masterfrom
Algunenano merged 3 commits intoClickHouse:masterfrom
Conversation
Contributor
1 task
Member
|
Re the fastpath that uses atomics: I am not again it but tbh, the more robust solution would be to force-disable failpoints via CMake in release builds (but not 100% sure if anyone ever used failpoints in a prod/customer build). |
devcrafter
approved these changes
Oct 7, 2025
Member
Author
We do, for CI only. For example the test that I'm modifying is enabled only for release build. We can try this way and if it's a problem again think about keeping failpoints only for debug and sanitizer builds, but that will require reviewing all tests. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
Reduce the impact of not using fail points
selectPartsToReadis a really common function to do index analysis and checking for failpoints is expensive as it requires a function call and a global lock (see #88184). This PR removes theslowdown_index_analysisfailpoint while trying to keep the associated test running correctly (let's see the CI).It also introduces a fast path for the most common case which is not using fail points at all (they should only be used in CI) by having a global atomic variable that checks whether any fail point has been enabled or not. If it hasn't, then it avoids the path.
Requires ClickHouse/libfiu#4
Documentation entry for user-facing changes