clintropolis opened a new pull request, #19599: URL: https://github.com/apache/druid/pull/19599
### Description This PR allows aggregate projections to be built on clustered segments. Also fixes a bug uncovered while adding an embedded-test for this stuff where grouping was incorrectly using dictionaryIds when using the concatenating cursors, resulting in wrong results. This PR fixes by just not allowing grouping on the dictionary ids, but will do a better fix in a follow-up PR to bring it back, but correctly, for perf reasons. changes: * allow `AggregateProjectionSpec` on a clustered base table; remove the build and merge time guards that rejected it * persist projections in `IndexMergerV10.makeClusteredIndexFiles` via the shared `makeProjections(...)` * fix a bug on a non-clustering dictionary column over the clustered base table which conflated values (per-group-local dictionary IDs reused across the `ConcatenatingCursor` causing values to inappropriately group together). Force value-based grouping by reporting non-clustering columns as non-dictionary-encoded, on capabilities and on the selector (cardinality/name-lookup) * tests: build and query tests for projections for both incremental and persisted segments, and also added first E2E coverage for clustered segments (`ClusteredSegmentProjectionQueryTest`, native ingestion + projection-vs-noProjections queries) -- 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]
