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]

Reply via email to