Jackie-Jiang opened a new pull request, #20248:
URL: https://github.com/apache/pinot/pull/20248

   ## Summary
   
   `IntermediateResultByteBufferSerDeTest` now accounts for every 
`AggregationFunctionType`. Each type is either the type of a function in 
`intermediateResults`, or listed in `EXCLUDED_TYPES` with the reason it is not, 
and `testEveryTypeIsCheckedOrExcluded` fails otherwise. A new function type, or 
a changed deserializer that keeps a view of its source buffer, now fails here 
instead of in a consumer that decodes intermediate results in place from 
off-heap memory.
   
   Added rows, each checked like the existing ones (wire type value, payload 
written into heap, direct and paged buffers, and a deserialized result with the 
same final result after the source buffer is overwritten):
   - MV and raw variants: `PERCENTILEMV`, `PERCENTILETDIGESTMV`, 
`PERCENTILERAWTDIGESTMV`, `PERCENTILEESTMV`, `PERCENTILERAWEST`, 
`PERCENTILERAWESTMV`, `PERCENTILEKLLMV`, `PERCENTILERAWKLL`, 
`PERCENTILERAWKLLMV`, `DISTINCTCOUNTMV`, `DISTINCTCOUNTBITMAPMV`, 
`DISTINCTCOUNTHLLMV`, `DISTINCTCOUNTRAWHLL`, `DISTINCTCOUNTRAWHLLMV`, 
`DISTINCTCOUNTHLLPLUSMV`, `DISTINCTCOUNTRAWHLLPLUS`, 
`DISTINCTCOUNTRAWHLLPLUSMV`, `DISTINCTCOUNTRAWULL`, 
`DISTINCTCOUNTRAWCPCSKETCH`, `DISTINCTCOUNTRAWTHETASKETCH`, `AVGMV`, 
`MINMAXRANGEMV`
   - `DISTINCTSUM`, `DISTINCTSUMMV`, `DISTINCTAVG`, `DISTINCTAVGMV`
   - The funnel window functions `FUNNELCOMPLETECOUNT`, `FUNNELMATCHSTEP`, 
`FUNNELSTEPDURATIONSTATS` and `FUNNELEVENTSFUNCTIONEVAL`
   - `VARSAMP`, `STDDEVPOP`, `STDDEVSAMP`, `COVARSAMP` and `SKEWNESS`
   - `DISTINCTCOUNTTUPLESKETCH`, `SUMVALUESINTEGERSUMTUPLESKETCH` and 
`AVGVALUEINTEGERSUMTUPLESKETCH`
   
   `testDistinctCountOffHeap` checks `DISTINCTCOUNTOFFHEAP` on one 
serialization of each set, since serializing a set frees its memory, including 
that `getSize()` matches the payload (the check that found apache/pinot#20203).
   
   Excluded with a reason: functions whose intermediate result is a primitive 
or `STRING`, `EXPRMIN` / `EXPRMAX` (rewritten into the parent and child 
functions; the parent functions are checked by `testParentExprMinMax`), 
`FOURTHMOMENT` (no final result), and `TIMESERIESAGGREGATE` (time series engine 
only, never serialized).
   
   Follow-up to apache/pinot#20186.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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