[ https://issues.apache.org/jira/browse/FLINK-8594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629671#comment-16629671 ]
Hequn Cheng commented on FLINK-8594: ------------------------------------ Hi [~twalthr], you are right. {{SELECT DISTINCT}} should be an append stream. The main problem is we have to output data to reset state clean-up timers of the downstream operators when retention time has been set. Sorry that I haven't started to solve the problem. To solve the problem, I will try to solve [FLINK-8566|https://issues.apache.org/jira/browse/FLINK-8566] first. What do you think? > Make producesUpdates in DataStreamGroupAggregate return false if it is a > distinct group by without state retention configuration > --------------------------------------------------------------------------------------------------------------------------------- > > Key: FLINK-8594 > URL: https://issues.apache.org/jira/browse/FLINK-8594 > Project: Flink > Issue Type: Improvement > Components: Table API & SQL > Reporter: Hequn Cheng > Assignee: Hequn Cheng > Priority: Major > > Internally, the {{DISTINCT}} is translated into a {{GROUP BY}} with all > distinct fields being keys and no aggregation functions. However, this kind > of \{{GROUP BY}} don't generate update at all if the state retention time has > not been configured. We can treat the result table as an append table. > Therefore, we can make the \{{producesUpdates}} function return false, so the > downstream group by will not choose the correspond retract agg function, > i.e., {{MaxWithRetractAggFunction}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)