hhhizzz opened a new issue, #24849:
URL: https://github.com/apache/datafusion/issues/24849

   ### Problem
   
   #23182 fixed the performance regression in #23178 by avoiding repeated 
destructive `EmitTo::First` calls during terminal hash aggregate output.
   
   The remaining `MaterializedAggregateOutput` unit test only verifies the 
slicing helper. It does not exercise `AggregateExec`, and it will not provide 
useful coverage when the current workaround is replaced by blocked/chunked 
state management.
   
   This was a performance/complexity regression rather than a correctness bug. 
A result-only integration test would pass both the regressed and fixed 
implementations, while a wall-clock assertion would be unreliable in CI.
   
   ### Proposed test
   
   Add an integration-style regression test for the unordered Single/Final 
aggregate output path:
   
   - Run `AggregateExec` with more groups than `batch_size`.
   - Use a test `GroupsAccumulator` that fails if terminal drain falls back to 
destructive `EmitTo::First`.
   - Verify that output batches remain bounded and contain the correct results.
   - Keep the test independent of `MaterializedAggregateOutput`, so direct 
blocked emission can replace the current workaround.
   
   This can follow the same pattern as the partial aggregate regression test 
added in #23250.
   
   The actual timing and memory behavior should continue to be validated by the 
drain benchmark in #24795.


-- 
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