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
> > >>>>>> .
> > >>>>>
> > >>>>>
> > >>>
> > >>
> > >
> >
> >
>

Reply via email to