xiangfu0 commented on PR #20035: URL: https://github.com/apache/pinot/pull/20035#issuecomment-6457816897
Addressed the lifecycle review in 3d695b194476206134a404d3e903a2a67eecba06: - Rewriting now happens only at the two instance-plan entry points, before fetch planning. Removed the per-segment rewrite calls, standalone rewrite overload, and marker key together. - Logical aggregation slots are retained for every query, independently of hints. Initial construction and post-rewrite updates share generic `prepareForExecution(...)` rather than duplicate aggregation construction. - Recursive function-identity tracking records nested in-place changes and recompiles only affected aggregations. A GROUP BY-only rewrite retains the original `COUNT(*)` instance. Mutable lookup keys, required columns, and expression-dependent trim metadata are refreshed. - FILTER traversal uses the logical aggregation descriptors. Original aggregation slots remain fixed when rewritten SELECT/HAVING/ORDER-BY inputs converge. I kept initial preparation eager, so broker reduction, server empty-result paths, direct segment planning, and query classification retain their existing behavior without a deferred-compilation rollout. Hybrid requests remain independent. Validation: 39 focused tests passed on JDK 25, with no failures/errors/skips. This includes real DAY-index execution over fully indexed and mixed indexed/unindexed segment sets in both orders, with prefetch enabled, plus nested rewrites and unchanged-aggregation reuse. All scoped formatting/license/Checkstyle checks and independent source review passed. The downstream DataFusion caller of the removed helper is migrated separately in [startree-pinot #5093](https://github.com/startreedata/startree-pinot/pull/5093); its combined OSS/StarTree source build and three focused Java tests passed. The PR description now reflects this implementation and marks the older performance measurements as historical. -- 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]
