mrhhsg opened a new pull request, #70238: URL: https://github.com/apache/doris/pull/70238
## What problem does this PR solve? Backport #69061 to branch-4.2. Schema changes and synchronous materialized-view builds could write converted values exceeding the destination CHAR/VARCHAR byte length, while the load path rejected them. FE default-value validation also counted characters rather than UTF-8 bytes. ## What is changed? - Validate non-null converted values and materialized defaults against the destination tablet column's byte length before writing them. Account for the two-byte VARCHAR length prefix. - Validate CHAR/VARCHAR default values in FE using their UTF-8 byte length. - Add focused BE and FE unit tests and a schema-change regression suite covering historical data, defaults, and synchronous materialized views. ## Tests - `DISABLE_BE_JAVA_EXTENSIONS=OFF BUILD_TYPE=ASAN ./build.sh --be --fe` — passed. - `./run-be-ut.sh --run --filter='BlockChangerStringLengthTest.*' -j 32` — 7 passed. - `./run-fe-ut.sh --run org.apache.doris.analysis.StringDefaultValueLengthTest` — 2 passed. - `schema_change_p0/test_schema_change_string_length_limit` — 1 suite passed when generating expected output and 1 suite passed on verification rerun. - `./build-support/clang-format.sh` and `./build-support/check-format.sh` — passed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
