Hi Xuyang,

Thank you for the clarification. I now have a clear understanding of the
issue.

Actually the work that supports unaligned window in window agg operator is
> included in this flip. We will always try to implement
> features in window agg operator first and then consider falling back to
> legacy group window agg if there are too many problems.
>

Could you provide more details on this part? My initial concerns arose from
the fact that, aside from a brief mention, there seems to be a lack of
comprehensive exploration on this topic, and notably, it's also absent from
the PoC code.

Best,
Jane

On Tue, Dec 12, 2023 at 2:55 PM Xuyang <xyzhong...@163.com> wrote:

> Hi, Jane.
>
>
> Thanks for your feedback.
>
>
> >1. Let's set aside the workload for a moment and clearly conceptualize the
> >ideal implementation in the end state, or at the very least, document the
>
> >current limitations in this FLIP to prevent them from being overlooked.
>
>
> Actually the work that supports unaligned window in window agg operator is
> included in this flip. We will always try to implement
> features in window agg operator first and then consider falling back to
> legacy group window agg if there are too many problems.
> >2. Can we consider maintaining consistency at the ExecNode level for the
> >session window TVF with other TVFs?
> You're right, thanks for your reminder. I'll move the logic about fallback
> to legacy legacy group window agg inside the exec node instead of physical
> node.
>
>
>
> --
>
>     Best!
>     Xuyang
>
>
>
>
>
> At 2023-12-11 20:38:25, "Jane Chan" <qingyue....@gmail.com> wrote:
> >Hi Xuyang,
> >
> >Thanks for driving this discussion.
> >
> >I briefly reviewed the first PoC code[1] you provided for implementing the
> >session window TVF, and I noticed a problem. In the `translateToExecNode`
> >method of `StreamPhysicalWindowAggregate`, the session window TVF is
> >translated into the legacy `StreamExecGroupWindowAggregate` instead of
> >`StreamExecWindowAggregate`. I can guess that the reason for this is
> >because we currently lack an operator that supports unaligned windows (and
> >session windows belong to this category), but this means that we are only
> >supporting session window TVF at the syntax level. My concern is that, if
> >we support it in this way, it will be very difficult to get rid of the
> >legacy implementation in forthcoming 2.0.
> >
> >Certainly, I understand that supporting it at the operator level would
> >significantly increase the scope of work for this FLIP. Here my cents:
> >
> >1. Let's set aside the workload for a moment and clearly conceptualize the
> >ideal implementation in the end state, or at the very least, document the
> >current limitations in this FLIP to prevent them from being overlooked.
> >
> >2. Can we consider maintaining consistency at the ExecNode level for the
> >session window TVF with other TVFs? By doing so, even if we introduce the
> >actual unaligned window operator in a future 2.x release, we could still
> >ensure that the session TVF from the version it is supported can be
> >successfully deserialized through the `CompiledPlan`.
> >
> >WDYT?
> >
> >Best,
> >Jane
> >
> >[1] https://github.com/xuyangzhong/flink/tree/FLINK-24024
> >
> >On Mon, Dec 11, 2023 at 11:41 AM Xuyang <xyzhong...@163.com> wrote:
> >
> >> Hi, Jim.
> >> >As a clarification, since FLINK-24204 is finishing up work from
> >> >FLIP-145[1], do we need to discuss anything before you work out the
> >> details
> >> >of FLINK-24024 as a PR?
> >> Which issue do you mean? It seems that FLINK-24204[1] is the issue with
> >> table api&sql type system.
> >>
> >>
> >> > I've got a PR up [3] for moving at least one of the classes you are
> >> touching.
> >> Nice work! Since we are not going to delete the legacy group window agg
> >> operator actually, the only compatibility issue
> >> may be that when using flink sql, the legacy group window agg operator
> >> will be rewritten into new operators. Will these tests be affected about
> >> this rewritten?
> >>
> >>
> >>
> >>
> >> [1] https://issues.apache.org/jira/browse/FLINK-24204
> >>
> >>
> >>
> >>
> >>
> >>
> >> --
> >>
> >>     Best!
> >>     Xuyang
> >>
> >>
> >>
> >>
> >>
> >> At 2023-12-09 06:25:30, "Jim Hughes" <jhug...@confluent.io.INVALID>
> wrote:
> >> >Hi Xuyang,
> >> >
> >> >As a clarification, since FLINK-24204 is finishing up work from
> >> >FLIP-145[1], do we need to discuss anything before you work out the
> >> details
> >> >of FLINK-24024 as a PR?
> >> >
> >> >Relatedly, as that goes up for a PR, as part of FLINK-33421 [2], Bonnie
> >> and
> >> >I are working through migrating some of the JsonPlan Tests and ITCases
> to
> >> >RestoreTests.  I've got a PR up [3] for moving at least one of the
> classes
> >> >you are touching.  Let me know if I can share any details about that
> work.
> >> >
> >> >Cheers,
> >> >
> >> >Jim
> >> >
> >> >1.
> >> >
> >>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-145%3A+Support+SQL+windowing+table-valued+function#FLIP145:SupportSQLwindowingtablevaluedfunction-SessionWindows
> >> >
> >> >2. https://issues.apache.org/jira/browse/FLINK-33421
> >> >3. https://github.com/apache/flink/pull/23886
> >> >https://issues.apache.org/jira/browse/FLINK-33676
> >> >
> >> >On Tue, Nov 28, 2023 at 7:31 AM Xuyang <xyzhong...@163.com> wrote:
> >> >
> >> >> Hi all.
> >> >> I'd like to start a discussion of FLIP-392: Deprecate the Legacy
> Group
> >> >> Window Aggregation.
> >> >>
> >> >>
> >> >> Although the current Flink SQL Window Aggregation documentation[1]
> >> >> indicates that the legacy Group Window Aggregation
> >> >> syntax has been deprecated, the new Window TVF Aggregation syntax has
> >> not
> >> >> fully covered all of the features of the legacy one.
> >> >>
> >> >>
> >> >> Compared to Group Window Aggergation, Window TVF Aggergation has
> several
> >> >> advantages, such as two-stage optimization,
> >> >> support for standard GROUPING SET syntax, and so on. However, it
> needs
> >> to
> >> >> supplement and enrich the following features.
> >> >>
> >> >>
> >> >> 1. Support for SESSION Window TVF Aggregation
> >> >> 2. Support for consuming CDC stream
> >> >> 3. Support for HOP window size with non-integer step length
> >> >> 4. Support for configurations such as early fire, late fire and allow
> >> >> lateness
> >> >> (which are internal experimental configurations in Group Window
> >> >> Aggregation and not public to users yet.)
> >> >> 5. Unification of the Window TVF Aggregation operator in runtime at
> the
> >> >> implementation layer
> >> >> (In the long term, the cost to maintain the operators about Window
> TVF
> >> >> Aggregation and Group Window Aggregation is too expensive.)
> >> >>
> >> >>
> >> >> This flip aims to continue the unfinished work in FLIP-145[2], which
> is
> >> to
> >> >> fully enable the capabilities of Window TVF Aggregation
> >> >>  and officially deprecate the legacy syntax Group Window
> Aggregation, to
> >> >> prepare for the removal of the legacy one in Flink 2.0.
> >> >>
> >> >>
> >> >> I have already done some preliminary POC to validate the feasibility
> of
> >> >> the related work in this flip as follows.
> >> >> 1. POC for SESSION Window TVF Aggregation [3]
> >> >> 2. POC for CUMULATE in Group Window Aggregation operator [4]
> >> >> 3. POC for consuming CDC stream in Window Aggregation operator [5]
> >> >>
> >> >>
> >> >> Looking forward to your feedback and thoughts!
> >> >>
> >> >>
> >> >>
> >> >> [1]
> >> >>
> >>
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/queries/window-agg/
> >> >>
> >> >> [2]
> >> >>
> >>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-145%3A+Support+SQL+windowing+table-valued+function#FLIP145:SupportSQLwindowingtablevaluedfunction-SessionWindows
> >> >> [3] https://github.com/xuyangzhong/flink/tree/FLINK-24024
> >> >> [4]
> >> >>
> >>
> https://github.com/xuyangzhong/flink/tree/poc_legacy_group_window_agg_cumulate
> >> >> [5]
> >> >>
> >>
> https://github.com/xuyangzhong/flink/tree/poc_window_agg_consumes_cdc_stream
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >>
> >> >>     Best!
> >> >>     Xuyang
> >>
>

Reply via email to