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]

Reply via email to