[fix](be) Use debug point for string overflow conversion#63392
Merged
zclllyybb merged 1 commit intoMay 19, 2026
Conversation
Remove the mutable BE config used to force string overflow behavior and keep the production string column limit as a named constant with the original uint32 max value. The conversion helper now reads a scoped debug point override only when debug points are enabled, so tests can exercise the ColumnString64 conversion path without changing global BE config. The fault-injection regression now validates through qt_sql baselines before and after enabling the debug point. Its query builds the string join key from convert_tz output, which drives the same string-column conversion path while keeping the expected results deterministic. Also keep the existing conversion-focused BE unit coverage on debug point injection rather than global config mutation. Verification: - build-support/clang-format.sh - ./run-be-ut.sh --run --filter=ColumnStringTest.convert_column_if_overflow:HybridSetTest.StringValueSet:MinmaxPredicateTest.String - ./build.sh --be --fe - ./run-regression-test.sh --run -d fault_injection_p0 -s test_doris_25531_string_overflow_fault_injection -forceGenOut - ./run-regression-test.sh --run -d fault_injection_p0 -s test_doris_25531_string_overflow_fault_injection
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Contributor
Author
|
run buildall |
Contributor
Author
|
/review |
Contributor
TPC-H: Total hot run time: 31508 ms |
Contributor
TPC-DS: Total hot run time: 170360 ms |
Contributor
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
Mryange
approved these changes
May 19, 2026
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.
Remove the mutable BE config used to force string overflow behavior and keep the production string column limit as a named constant with the original uint32 max value. The conversion helper now reads a scoped debug point override only when debug points are enabled, so tests can exercise the ColumnString64 conversion path without changing global BE config.
The fault-injection regression now validates through qt_sql baselines before and after enabling the debug point. Its query builds the string join key from convert_tz output, which drives the same string-column conversion path while keeping the expected results deterministic.
Also keep the existing conversion-focused BE unit coverage on debug point injection rather than global config mutation, and preserve the overflow conversion loop guard so forced small limits do not read before the first offset.