github-actions[bot] commented on code in PR #67805:
URL: https://github.com/apache/doris/pull/67805#discussion_r3982416733
##########
be/src/exprs/aggregate/aggregate_function_window_funnel_v2.h:
##########
@@ -184,9 +184,16 @@ struct WindowFunnelStateV2 {
}
if (events_list.empty()) {
+ window = other.window;
Review Comment:
[P1] Preserve configuration for eventless V2 states
`add()` records `window` and `window_funnel_mode` even when every event
argument is false, and serialization preserves those fields, so this
destination is configured rather than fresh. Because `events_list.empty()` is
used as the identity test here, merging a contributing state with a different
constant window/mode overwrites that configuration; in the reverse order the
early return above ignores it. Thus incompatible V2 states (including the
default `window_funnel` alias) are accepted in both direct and serialized
merges whenever one side is all-false, contrary to the configured-state
contract; the current tests always give both funnel states a true event. Please
track configuration independently of stored events, preserve that distinction
across reset/serialization, compare configured parameters before these
empty-payload fast paths, and cover all-false states in both operand orders.
--
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]