gargvishesh commented on PR #16291: URL: https://github.com/apache/druid/pull/16291#issuecomment-2139191886
@LakshSingla : There needs to be some way to track if a dimension was originally a metrics but ended up being a dimension because of `finalizeAggregations=true`. So went with a map. Regarding backward compatibility, while deserializing I've included appropriate handling for missing fields. Some scenarios I can think of: - coordinator - old, indexer - new: indexer assumes native compaction engine and the flow is just as the original flow. It stores the new fields in compaction state which the coordinator ignores and continues with the (sufficient) subset. - coordinator - new, indexer - old: indexer doesn't honor the engine field and continues with the original native compaction flow. It stores CompactionState without the new fields and Coordinator handles the missing field values correctly using defaults. Please let me know if you come across any other cases that aren't handled. Support for `finalizeAggregations=false` will come in a follow-up PR, as mentioned in my other comment. -- 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]
