mrhhsg opened a new pull request, #63361:
URL: https://github.com/apache/doris/pull/63361
### What problem does this PR solve?
Issue Number: DORIS-25679
Related PR: N/A
Problem Summary: collect_list and collect_set aggregate states with a limit
could lose their initialized max_size during merge because several merge paths
overwrote the left state max_size with the right state unconditionally. If the
right state was still uninitialized, later merge/add operations could ignore
the requested limit.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- build-support/clang-format.sh
- build-support/check-format.sh
- ./run-be-ut.sh --run
--filter=VAggCollectTest.*:AggregateFunctionCollectTest.*
- build-support/run-clang-tidy.sh --build-dir be/ut_build_ASAN (failed:
local clang-tidy could not analyze due to missing stddef.h in the toolchain
include path and an existing unmatched NOLINTEND diagnostic in
be/src/core/types.h)
- Behavior changed: Yes. collect_list/collect_set merge preserves an
initialized max_size limit instead of overwriting it with an uninitialized
right-side state.
- Does this need documentation: No
--
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]