Hi, Timo, thanks for your advice.

I am considering splitting the existing flip into two while leaving the 
existing flip (or without). 
One of them points to the completion of the operator about window tvf to 
support CDC (there are several 
small work items, such as window agg, window rank, window join, etc. Due to 
time constraints, 
the 1.19 version takes priority to complete the window agg). The other points 
to the HOP window tvf
supports a size that is a non-integer multiple of the step. Once these two 
flips are basically completed 
in 1.19, we can consider officially deprecating the old group window agg syntax 
in the release note.


WDYT?




--

    Best!
    Xuyang





At 2023-12-14 17:51:01, "Timo Walther" <twal...@apache.org> wrote:
>Hi Xuyang,
>
> > I'm not spliting this flip is that all of these subtasks like session 
>window tvf and cdc support do not change the public interface and the 
>public syntax
>
>Given the length of this mailing list discussion and number of involved 
>people I would strongly suggest to simplify the FLIP and give it a 
>better title to make quicker progress. In general, we all seem to be on 
>the same page in what we want. And both session TVF support and the 
>deprecation of the legacy group windows has been voted already and 
>discussed thouroughly. The FLIP can purely focus on the CDC topic.
>
>Cheers,
>Timo
>
>
>On 14.12.23 08:35, Xuyang wrote:
>> Hi, Timo, Sergey and Lincoln Lee. Thanks for your feedback.
>> 
>> 
>>> In my opinion the FLIP touches too many
>>> topics at the same time and should be split into multiple FLIPs. We > 
>>> should stay focused on what is needed for Flink 2.0.
>> The main goal and topic of this Flip is to align the abilities between the 
>> legacy group window agg syntax and the new window tvf syntax,
>> and then we can say that the legacy window syntax will be deprecated. IMO, 
>> although there are many misalignments about these two
>> syntaxes, such as session window tvf, cdc support and so on,  they are all 
>> the subtasks we need to do in this flip. Another reason I'm not
>> spliting this flip is that all of these subtasks like session window tvf and 
>> cdc support do not change the public interface and the public
>> syntax, the implements of them will only be in modules table-planner and 
>> table-runtime.
>> 
>> 
>>> Can we postpone this discussion? Currently we should focus on user
>>> switching to Window TVFs before Flink 2.0. Early fire, late fire and > 
>>> allow lateness have not exposed through public configuration. It can be > 
>>> introduced after Flink 2.0 released.
>> 
>> 
>> Agree with you. This flip will not and should not expose these experimental 
>> flink conf to users. I list them in this flip just aims to show the
>> misalignments about these two window syntaxes.
>> 
>> 
>> Look for your thought.
>> 
>> 
>> 
>> 
>> --
>> 
>>      Best!
>>      Xuyang
>> 
>> 
>> 
>> 
>> 
>> At 2023-12-13 15:40:16, "Lincoln Lee" <lincoln.8...@gmail.com> wrote:
>>> Thanks Xuyang driving this work! It's great that everyone agrees with the
>>> work itself in this flip[1]!
>>>
>>> Regarding whether to split the flip or adjust the scope of this flip, I'd
>>> like to share some thoughts:
>>>
>>> 1. About the title of this flip, what I want to say is that flip-145[2] had
>>> marked the legacy group window deprecated in the documentation but the
>>> functionality of the new syntax is not aligned with the legacy one.
>>> This is not a user-friendly deprecation, so the initiation of this flip, as
>>> I understand it, is for the formal deprecation of the legacy window, which
>>> requires us to complete the functionality alignment.
>>>
>>> 2. Agree with Timo that we can process the late-fire/early-fire features
>>> separately. These experimental parameters have not been officially opened
>>> to users.
>>> Considering the workload, we can focus more on this version.
>>>
>>> 3. I have no objection to splitting this flip if everyone feels that the
>>> work included is too much.
>>> Regarding the support of session tvf, it seems that the main problem is
>>> that this part of the description occupies a large part of the flip,
>>> causing some misunderstandings.
>>> This is indeed a predetermined task in FLIP-145, just adding more
>>> explanation about semantics. In addition, I saw the discussion history in
>>> FLINK-24024[3], thanks Sergey for being willing to help driving this work
>>> together.
>>>
>>> [1]
>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-392%3A+Deprecate+the+Legacy+Group+Window+Aggregation
>>> [2]
>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-145%3A+Support+SQL+windowing+table-valued+function
>>> [3] https://issues.apache.org/jira/browse/FLINK-24024
>>>
>>> Best,
>>> Lincoln Lee
>>>
>>>
>>> Sergey Nuyanzin <snuyan...@gmail.com> 于2023年12月13日周三 08:02写道:
>>>
>>>> thanks for summarising Timo
>>>>
>>>> +1 for splitting it in different FLIPs
>>>> and agree about having "SESSION Window TVF Aggregation" under FLIP-145
>>>> Moreover the task is already there, so no need to move it from one FLIP to
>>>> another
>>>>
>>>>> And actually Sergey Nuyanzin wanted to work
>>>>> in this if I remember correctly. Not sure if this is still the case.
>>>>
>>>> Yes, however it seems there is already an existing PR for that.
>>>> Anyway I'm happy to help here with the review as well and will reserve some
>>>> time for it in coming days.
>>>>
>>>>
>>>>
>>>> On Tue, Dec 12, 2023 at 12:18 PM Timo Walther <twal...@apache.org> wrote:
>>>>
>>>>> Hi Xuyang,
>>>>>
>>>>> thanks for proposing this FLIP. In my opinion the FLIP touches too many
>>>>> topics at the same time and should be split into multiple FLIPs. We
>>>>> should stay focused on what is needed for Flink 2.0.
>>>>>
>>>>> Let me summarizing the topics:
>>>>>
>>>>> 1) SESSION Window TVF Aggregation
>>>>>
>>>>> This has been agreed in FLIP-145 already. We don't need another FLIP but
>>>>> someone that finally implements this after we have performed the Calcite
>>>>> upgrade a couple of months ago. The Calcite upgrade was important
>>>>> exactly for SESSION windows. And actually Sergey Nuyanzin wanted to work
>>>>> in this if I remember correctly. Not sure if this is still the case.
>>>>>
>>>>> 2) CDC support of Window TVFs
>>>>>
>>>>> This can be a FLIP on its own.
>>>>>
>>>>> 3) HOP window size with non-integer step length
>>>>>
>>>>> This can be a FLIP on its own.
>>>>>
>>>>> 4) Configurations such as early fire, late fire and allow lateness
>>>>>
>>>>> Can we postpone this discussion? Currently we should focus on user
>>>>> switching to Window TVFs before Flink 2.0. Early fire, late fire and
>>>>> allow lateness have not exposed through public configuration. It can be
>>>>> introduced after Flink 2.0 released.
>>>>>
>>>>> Regards,
>>>>> Timo
>>>>>
>>>>>
>>>>> On 12.12.23 08:01, Xuyang wrote:
>>>>>> Hi, Jim.
>>>>>> Thanks for your explaination.
>>>>>>> Ah, I mean to ask if you can contribute the new SESSION Table support
>>>>>>> without needing FLIP-392 completely settled.  I was trying to see if
>>>>> that
>>>>>>> is separate work which can be done or if there is some dependency on
>>>>> this
>>>>>>> FLIP.
>>>>>> The pr available about session window tvf belongs to this flip I think,
>>>>> and is part of the work about this flip. Actually the poc pr is not ready
>>>>> completely yet,
>>>>>> I'll try to update it to implement the session window tvf in window agg
>>>>> operator instead of using legacy group window agg operator.
>>>>>>> The tests should not be impacted.  Depending on what order our work
>>>>> lands
>>>>>>> in, one of the tests you've added/updated would likely move to the
>>>>>>> RestoreTests that Bonnie and I are working on.  Just mentioning that
>>>>> ahead
>>>>>>> of time
>>>>>>
>>>>>> Got it! I will pay attention to it.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>       Best!
>>>>>>       Xuyang
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 在 2023-12-11 21:35:00,"Jim Hughes" <jhug...@confluent.io.INVALID> 写道:
>>>>>>> Hi Xuyang,
>>>>>>>
>>>>>>> On Sun, Dec 10, 2023 at 10:41 PM 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.
>>>>>>>>
>>>>>>>
>>>>>>> Ah, I mean to ask if you can contribute the new SESSION Table support
>>>>>>> without needing FLIP-392 completely settled.  I was trying to see if
>>>>> that
>>>>>>> is separate work which can be done or if there is some dependency on
>>>>> this
>>>>>>> FLIP.
>>>>>>>
>>>>>>>
>>>>>>>> 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?
>>>>>>>>
>>>>>>>
>>>>>>> The tests should not be impacted.  Depending on what order our work
>>>>> lands
>>>>>>> in, one of the tests you've added/updated would likely move to the
>>>>>>> RestoreTests that Bonnie and I are working on.  Just mentioning that
>>>>> ahead
>>>>>>> of time
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Jim
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> [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
>>>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Sergey
>>>>

Reply via email to