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]
