Github user walterddr commented on the issue: https://github.com/apache/flink/pull/5555 Thanks @hequn8128 for the prompt review. Are you suggesting we created the mapView parallel with the accumulator? The reason why I kept `DistinctAccumulator` is to act as a delegate to enclose the actual accumulator so that it can be passed around in the `accumulatorState` field without extending the arity. I guess if we separate the mapView with the accumulator. I guess I can separately create another field in the `accumulatorState` `Row` to store the `mapView`(s)... This way it might be easier to handle the "reuse same mapView for multiple different distinct agg function" case as we discussed in the doc. Another question is I was trying to reuse as much utility of dataview codegen as possible, as most of them are tightly coupled with the accumulators. I guess I can further refactor (which I already did quite a bit already). Please let me know if that's what you had in mind @hequn8128 -- Rong
---