davecromberge commented on code in PR #12164:
URL: https://github.com/apache/pinot/pull/12164#discussion_r1434289093


##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/store/StarTreeIndexReader.java:
##########
@@ -121,7 +124,9 @@ private void mapBufferEntries(int starTreeId,
           _dataBuffer, ByteOrder.BIG_ENDIAN));
     }
     // Load metric (function-column pair) forward indexes
-    for (AggregationFunctionColumnPair functionColumnPair : 
starTreeMetadata.getFunctionColumnPairs()) {
+    TreeMap<AggregationFunctionColumnPair, AggregationSpec> 
deduplicatedAggregationSpecs =

Review Comment:
   I went back and forth about how best to do this as detailed in the issue and 
PR description. A consequence of de-duplicating in the `StarTreeV2Metadata` and 
the `StarTreeV2BuilderConfig` is that the metadata for a segment will only 
contain the stored aggregation function types, and not any superfluous 
aggregation function types.  This has implications for whether a segment should 
be rebuilt when compared to the existing config (see 
`shouldModifyExistingStarTrees` in `StarTreeBuilderUtils`).  If both the 
metadata and builder config reflect the stored aggregated types then this 
should behave correctly.  Furthermore, a StarTree is checked for whether it is 
a fit for the given query aggregates and for this the underlying stored 
aggregate types must be checked as well.
   
   Finally, it might be surprising to the end user if some of their StarTree 
aggregation configuration does not actually land up in metadata - I was 
considering adding a warning or validation to the TableConfig.   What do you 
think?
   
   



-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to