It is true that there are no strict upgrade guarantees.
However, looking at the code, it appears RowSerializer supports adding
new fields to Row - as long as no fields are modified or deleted.
Haven't tried this out but it looks like the code would only restore
existing fields and incorporate the new ones as null values.
Please correct me if I'm wrong.
-Max
On 29.01.21 08:54, Dan Hill wrote:
I went through a few of the recent Flink Forward videos and didn't see
solutions to this problem. It sounds like some companies have solutions
but they didn't talk about them in enough detail to do something similar.
On Thu, Jan 28, 2021 at 11:45 PM Dan Hill <quietgol...@gmail.com
<mailto:quietgol...@gmail.com>> wrote:
Is this savepoint recovery issue also true with the Flink Table
API? I'd assume so. Just doublechecking.
On Mon, Jan 18, 2021 at 1:58 AM Timo Walther <twal...@apache.org
<mailto:twal...@apache.org>> wrote:
I would check the past Flink Forward conference talks and blog
posts. A
couple of companies have developed connectors or modified existing
connectors to make this work. Usually, based on event timestamps
or some
external control stream (DataStream API around the actual SQL
pipeline
for handling this).
Also there is FLIP-150 which goes into this direction.
https://cwiki.apache.org/confluence/display/FLINK/FLIP-150%3A+Introduce+Hybrid+Source
<https://cwiki.apache.org/confluence/display/FLINK/FLIP-150%3A+Introduce+Hybrid+Source>
Regards,
Timo
On 18.01.21 10:40, Dan Hill wrote:
> Thanks Timo!
>
> The reason makes sense.
>
> Do any of the techniques make it easy to support exactly once?
>
> I'm inferring what is meant by dry out. Are there any
documented
> patterns for it? E.g. sending data to new kafka topics
between releases?
>
>
>
>
> On Mon, Jan 18, 2021, 01:04 Timo Walther <twal...@apache.org
<mailto:twal...@apache.org>
> <mailto:twal...@apache.org <mailto:twal...@apache.org>>> wrote:
>
> Hi Dan,
>
> currently, we cannot provide any savepoint guarantees
between releases.
> Because of the nature of SQL that abstracts away runtime
operators, it
> might be that a future execution plan will look
completely different
> and
> thus we cannot map state anymore. This is not avoidable
because the
> optimizer might get smarter when adding new optimizer rules.
>
> For such cases, we recommend to dry out the old pipeline
and/or warm up
> a new pipeline with historic data when upgrading Flink. A
change in
> columns sometimes works but even this depends on the used
operators.
>
> Regards,
> Timo
>
>
> On 18.01.21 04:46, Dan Hill wrote:
> > How well does Flink SQL work with checkpoints and
savepoints? I
> tried
> > to find documentation for it in v1.11 but couldn't
find it.
> >
> > E.g. what happens if the Flink SQL is modified between
releases?
> New
> > columns? Change columns? Adding joins?
> >
> >
>