Fabian Hueske commented on FLINK-8594:

Hmmm, I'm not sure if we should make a distinction on the type of the output 
stream based on the configuration. 
In most situations, users will need to have state retention enabled to ensure 
that the state is cleaned up. 

A new operator is a good idea but I'd like to keep the retraction stream as 
long as FLINK-8566 is not resolved. Once that is done, the operator can produce 
append streams regardless whether state retention is configured or not.

[~hequn8128] Does that make sense?

> 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

Reply via email to