Hey all, starting a vote in 24 hours. Unless there are more points to discuss.
Thanks, Alexey On Mon, Jun 17, 2024 at 8:28 AM Alexey Leonov-Vendrovskiy < vendrov...@gmail.com> wrote: > Done. There was some accidental removal during editing. > > Thanks, > Alexey > > On Mon, Jun 17, 2024 at 5:23 AM Jim Hughes <jhug...@confluent.io.invalid> > wrote: > >> Hi Alexey, >> >> Looks reasonable. As a note, I think this sentence is missing some words: >> >> "Due to batch queries nature, we do not expect the jobs to run forever >> (days, months, years) – unlike from . " >> >> Can you update it? >> >> Cheers, >> >> Jim >> >> On Mon, Jun 17, 2024 at 3:16 AM Alexey Leonov-Vendrovskiy < >> vendrov...@gmail.com> wrote: >> >> > Thanks Timo and Jim! Added a few sentences to the FLIP to cover your >> > points. >> > -Alexey >> > >> > On Mon, Jun 10, 2024 at 11:23 PM Timo Walther <twal...@apache.org> >> wrote: >> > >> > > Hi Alexey, >> > > >> > > thanks for proposing this FLIP. It is a nice continuation of the >> vision >> > > we had for CompiledPlan when writing and implementing FLIP-190. The >> > > whole stack is prepared for serializing BatchExecNodes as well so it >> > > shouldn't be too hard to make this a reality. >> > > >> > > > I think the FLIP should be clear on the backwards support strategy >> > > > here. The strategy for streaming is "forever". This may be the >> most >> > > > interesting part of the FLIP to discuss. >> > > >> > > I agree with Jim. We shouldn't put too much burden on us (the Flink >> > > community). BatchExecNodes can evolve quicker than StreamExecNodes as >> > > the state component isn't an issue. Backwards compatibility of 2-3 >> Flink >> > > versions and at least 1 year of time should be enough for batch >> > > infrastructure to update. Of course we should avoid breaking changes >> > > whenever possible. This should be written down in the FLIP. >> > > >> > > Regards, >> > > Timo >> > > >> > > >> > > >> > > >> > > On 07.06.24 23:10, Jim Hughes wrote: >> > > > Hi Alexey, >> > > > >> > > > Responses inline below: >> > > > >> > > > On Mon, May 13, 2024 at 7:18 PM Alexey Leonov-Vendrovskiy < >> > > > vendrov...@gmail.com> wrote: >> > > > >> > > >> Thanks Jim. >> > > >> >> > > >>> 1. For the testing, I'd call the tests "execution" tests rather >> than >> > > >>> "restore" tests. For streaming execution, restore tests have the >> > > >> compiled >> > > >>> plan and intermediate state; the tests verify that those can work >> > > >> together >> > > >>> and continue processing. >> > > >> >> > > >> Agree that we don't need to store and restore the intermediate >> state. >> > So >> > > >> the most critical part is that the CompiledPlan for batch can be >> > > executed. >> > > >> >> > > > >> > > > On the FLIP, can you be more specific about what we are checking >> during >> > > > execution? I'd suggest that `executeSql(_)` and >> > > > `executePlan(compilePlanSql(_))` should be compared. >> > > > >> > > > >> > > >> 2. The FLIP implicitly suggests "completeness tests" (to use >> > FLIP-190's >> > > >>> words). Do we need "change detection tests"? I'm a little >> unsure if >> > > >> that >> > > >>> is presently happening in an automatic way for streaming >> operators. >> > > >> >> > > >> >> > > >> We might need to elaborate more on this, but the idea is that we >> > > need to >> > > >> make sure that compiled plans created by an older version of SQL >> > Planner >> > > >> are executable on newer runtimes. >> > > >> >> > > >> 3. Can we remove old versions of batch operators eventually? Or >> do >> > we >> > > >>> need to keep them forever like we would for streaming operators? >> > > >>> >> > > >> >> > > >> We could have deprecation paths for old operator nodes in some >> cases. >> > > It is >> > > >> a matter of the time window: what could be practical the "time >> > distance" >> > > >> between query planner and flink runtime against which the query >> query >> > > can >> > > >> be resubmitted. >> > > >> Note, here we don't have continuous queries, so there is always an >> > > option >> > > >> to "re-plan" the original SQL query text into a newer version of >> the >> > > >> CompiledPlan. >> > > >> With this in mind, a time window of 1yr+ would allow deprecation of >> > > older >> > > >> batch exec nodes, though I don't see this as a frequent event. >> > > >> >> > > > >> > > > As I read the JavaDocs for `TableEnvironment.loadPlan`, it looks >> like >> > the >> > > > compiled plan ought to be sufficient to run a job at a later time. >> > > > >> > > > I think the FLIP should be clear on the backwards support strategy >> > here. >> > > > The strategy for streaming is "forever". This may be the most >> > > interesting >> > > > part of the FLIP to discuss. >> > > > >> > > > Can you let us know when you've updated the FLIP? >> > > > >> > > > Cheers, >> > > > >> > > > Jim >> > > > >> > > > >> > > >> -Alexey >> > > >> >> > > >> >> > > >> >> > > >> On Mon, May 13, 2024 at 1:52 PM Jim Hughes >> > <jhug...@confluent.io.invalid >> > > > >> > > >> wrote: >> > > >> >> > > >>> Hi Alexey, >> > > >>> >> > > >>> After some thought, I have a question about deprecations: >> > > >>> >> > > >>> 3. Can we remove old versions of batch operators eventually? Or >> do >> > we >> > > >>> need to keep them forever like we would for streaming operators? >> > > >>> >> > > >>> Cheers, >> > > >>> >> > > >>> Jim >> > > >>> >> > > >>> On Thu, May 9, 2024 at 11:29 AM Jim Hughes <jhug...@confluent.io> >> > > wrote: >> > > >>> >> > > >>>> Hi Alexey, >> > > >>>> >> > > >>>> Overall, the FLIP looks good and makes sense to me. >> > > >>>> >> > > >>>> 1. For the testing, I'd call the tests "execution" tests rather >> than >> > > >>>> "restore" tests. For streaming execution, restore tests have the >> > > >>> compiled >> > > >>>> plan and intermediate state; the tests verify that those can work >> > > >>> together >> > > >>>> and continue processing. >> > > >>>> >> > > >>>> For batch execution, I think we just want that all existing >> compiled >> > > >>> plans >> > > >>>> can be executed in future versions. >> > > >>>> >> > > >>>> 2. The FLIP implicitly suggests "completeness tests" (to use >> > > FLIP-190's >> > > >>>> words). Do we need "change detection tests"? I'm a little >> unsure >> > if >> > > >>> that >> > > >>>> is presently happening in an automatic way for streaming >> operators. >> > > >>>> >> > > >>>> In RestoreTestBase, generateTestSetupFiles is disabled and has >> to be >> > > >> run >> > > >>>> manually when tests are being written. >> > > >>>> >> > > >>>> Cheers, >> > > >>>> >> > > >>>> Jim >> > > >>>> >> > > >>>> On Tue, May 7, 2024 at 5:11 AM Paul Lam <paullin3...@gmail.com> >> > > wrote: >> > > >>>> >> > > >>>>> Hi Alexey, >> > > >>>>> >> > > >>>>> Thanks a lot for bringing up the discussion. I’m big +1 for the >> > FLIP. >> > > >>>>> >> > > >>>>> I suppose the goal doesn’t involve the interchangeability of >> json >> > > >> plans >> > > >>>>> between batch mode and streaming mode, right? >> > > >>>>> In other words, a json plan compiled in a batch program can’t be >> > run >> > > >> in >> > > >>>>> streaming mode without a migration (which is not yet supported). >> > > >>>>> >> > > >>>>> Best, >> > > >>>>> Paul Lam >> > > >>>>> >> > > >>>>>> 2024年5月7日 14:38,Alexey Leonov-Vendrovskiy < >> vendrov...@gmail.com> >> > > >> 写道: >> > > >>>>>> >> > > >>>>>> Hi everyone, >> > > >>>>>> >> > > >>>>>> PTAL at the proposed FLIP-456: CompiledPlan support for Batch >> > > >>> Execution >> > > >>>>>> Mode. It is pretty self-describing. >> > > >>>>>> >> > > >>>>>> Any thoughts are welcome! >> > > >>>>>> >> > > >>>>>> Thanks, >> > > >>>>>> Alexey >> > > >>>>>> >> > > >>>>>> [1] >> > > >>>>>> >> > > >>>>> >> > > >>> >> > > >> >> > > >> > >> https://cwiki.apache.org/confluence/display/FLINK/FLIP-456%3A+CompiledPlan+support+for+Batch+Execution+Mode >> > > >>>>>> . >> > > >>>>> >> > > >>>>> >> > > >>> >> > > >> >> > > > >> > > >> > > >> > >> >