suibianwanwank opened a new pull request, #16430:
URL: https://github.com/apache/datafusion/pull/16430

   ## Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and 
enhancements and this helps us generate change logs for our releases. You can 
link an issue to this PR using the GitHub syntax. For example `Closes #123` 
indicates that this PR will close issue #123.
   -->
   
   - Closes #16308.
   
   ## Rationale for this change
   I'm not very familiar with Comet, and I'm unsure how to verify this issue.  
So I tried checking the code. 
   
   When both `aggregate_evaluate_stateful` and the optimization from 
https://github.com/apache/datafusion/pull/16234 are present, it leads to 
inconsistent return values compared to the original behavior. (However, this 
doesn't seem to occur in DataFusion's default planning.)  
   
   So based on this fix, I created a test, and on the main branch, this error 
is consistent with #16308:
   ```
   attempt to subtract with overflow
   stack backtrace:
      0: __rustc::rust_begin_unwind
                at 
/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
      1: core::panicking::panic_fmt
                at 
/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
      2: core::panicking::panic_const::panic_const_sub_overflow
                at 
/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:178:21
      3: datafusion_expr::window_state::WindowAggState::update
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/expr/src/window_state.rs:95:13
      4: 
datafusion_physical_expr::window::window_expr::AggregateWindowExpr::aggregate_evaluate_stateful
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/physical-expr/src/window/window_expr.rs:259:13
      5: <datafusion_physical_expr::window::aggregate::PlainAggregateWindowExpr 
as datafusion_physical_expr::window::window_expr::WindowExpr>::evaluate_stateful
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/physical-expr/src/window/aggregate.rs:149:9
      6: 
datafusion_physical_plan::windows::bounded_window_agg_exec::BoundedWindowAggStream::compute_aggregates
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs:986:13
      7: 
datafusion_physical_plan::windows::bounded_window_agg_exec::BoundedWindowAggStream::poll_next_inner
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs:1049:38
      8: 
<datafusion_physical_plan::windows::bounded_window_agg_exec::BoundedWindowAggStream
 as futures_core::stream::Stream>::poll_next
                at 
/home/suibianwanwan/code_repository/datafusion/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs:952:20
      9: <core::pin::Pin<P> as futures_core::stream::Stream>::poll_next
                at 
/home/suibianwanwan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-core-0.3.31/src/stream.rs:130:9
     10: <S as futures_core::stream::TryStream>::try_poll_next
                at 
/home/suibianwanwan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-core-0.3.31/src/stream.rs:206:9
     11: <futures_util::stream::try_stream::try_collect::TryCollect<St,C> as 
core::future::future::Future>::poll
                at 
/home/suibianwanwan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/try_stream/try_collect.rs:46:26
   ```


-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to