As per offline discussion with Piotr: we have some ways to deal with
possible incompatibilities (hiding them behind a feature flag, new state
backend implementation). Having faster adoption of the new Flink releases
is more valuable in this context, than a possible overhead on the
implementation side.

+1 for the effort, no more concerns from my side

D.

On Wed, Jan 19, 2022 at 9:54 AM David Morávek <d...@apache.org> wrote:

> For some users canonical savepoints are prohibitively expensive either to
>> take or to recover from. To a point where the system is unable to complete
>> them before some timeout/failure happens.
>
>
> I'd say the same logic applies for re-scaling the job from the RDB based
> checkpoint / savepoint. I'm still not positive that we can solve the
> re-scaling performance without disrupting the backward compatibility. Just
> for more context, this is something we need to solve for getting reactive
> mode / auto-scaling broadly adopted.
>
> Overall, I like the idea of making the migration path as smooth as
> possible for end users as this may allow for faster adoption of new Flink
> versions, but there are new problems this might introduce and we should be
> aware of them.
>
> D.
>
> On Wed, Jan 19, 2022 at 9:04 AM Piotr Nowojski <pnowoj...@apache.org>
> wrote:
>
>> Hi David,
>>
>> I didn't mean "best effort". It's just that we would be relaying on a 3rd
>> party system, which quoting [1]:
>>
>> > RocksDB goes to great lengths to ensure data remains both forward- and
>> backward-compatible
>>
>> But it's still a 3rd party system that we do not control. It's the same
>> with KafkaClient for example. Yes, it's supposed to be backward/forward
>> compatible, but we do not control it. Moreover, even for things that we do
>> control, and we claim that they are "stable" "public" and we do guarantee
>> backward compatibility, we might break compatibility from time to time. We
>> did things like that in the past if there was no way of fixing a bug
>> without some breaking change.
>>
>> > Why are the canonical savepoints not good enough for supporting minor
>> version upgrades?
>>
>> For some users canonical savepoints are prohibitively expensive either to
>> take or to recover from. To a point where the system is unable to complete
>> them before some timeout/failure happens.
>>
>> Besides, I would really like for the sake of simplicity (from the user's
>> perspective) to keep both canonical and native savepoints as close
>> together
>> as possible.
>>
>> Best,
>> Piotrek
>>
>> [1] https://dl.acm.org/doi/fullHtml/10.1145/3483840
>>
>>
>> wt., 18 sty 2022 o 19:27 David Morávek <d...@apache.org> napisał(a):
>>
>> > Hi Piotr,
>> >
>> > thanks for following up on this,
>> >
>> > Regarding the RocksDB incompatibility, I think we can claim that Flink
>> > > version upgrades are/will be supported. If ever we need to break the
>> > > backward compatibility via bumping RocksDB version in a such way, that
>> > > RocksDB won't be able to provide that compatibility, we will need to
>> make
>> > > this a prominent notice in the release notes.
>> >
>> >
>> > I'm still not sure about this. Would that mean giving up flexibility for
>> > the future improvements to the state backend infrastructure? For example
>> > I'm experimenting along the lines of switching range partitioning for
>> > consistent hashing to speed up re-scaling. Just this simple change (or
>> any
>> > other change to layout in general) would make the checkpoints
>> incompatible
>> > or it would involve non-trivial effort to support migration from older
>> > versions.
>> >
>> > Maybe it's just about how it's phrased, what you're suggesting fits
>> > somewhere between "best effort compatibility" & "guaranteed
>> compatibility".
>> > If we say it's best effort ("we're free to change anything, but this
>> > shouldn't be done blindly"), then it should provide the flexibility we
>> > need.
>> >
>> > Why are the canonical savepoints not good enough for supporting minor
>> > version upgrades? Yes with some larger state this might be time
>> consuming,
>> > but wouldn't these use-cases benefit more from further optimizations to
>> the
>> > state backend? Also how often are users doing these updates (I'd say max
>> > twice a year if they follow-up the release cycle)?
>> >
>> > Best,
>> > D.
>> >
>> > On Tue, Jan 18, 2022 at 3:51 PM Piotr Nowojski <pnowoj...@apache.org>
>> > wrote:
>> >
>> > > Hi All,
>> > >
>> > > Yu, sorry I was somehow confused about the configuration. I've changed
>> > > the FLIP as you sugested.
>> > >
>> > > Yu/Yun Tang:
>> > >
>> > > Regarding the RocksDB incompatibility, I think we can claim that Flink
>> > > version upgrades are/will be supported. If ever we need to break the
>> > > backward compatibility via bumping RocksDB version in a such way, that
>> > > RocksDB won't be able to provide that compatibility, we will need to
>> make
>> > > this a prominent notice in the release notes.
>> > >
>> > > > I have used the State Processor API with aligned, full checkpoints.
>> > There
>> > > it has worked just fine.
>> > >
>> > > Thanks for this information.
>> > >
>> > > > 0) What exactly does the "State Processor API" row mean? Is it: Can
>> it
>> > be
>> > > > read by the State Processor API? Can it be written by the State
>> > Processor
>> > > > API? Both? Something else?
>> > >
>> > > Good question. I'm not sure how State Processor API is working. Can
>> > someone
>> > > help answer what we guarantee/support right now and what we can
>> > > reasonably support?
>> > >
>> > > > 1) and 2)
>> > >
>> > > I guess you are simply in favour of the 2nd proposal? So
>> > >
>> > > * rescaling
>> > > * Job upgrade w/o changing graph shape and record types
>> > > * Flink bug/patch (1.14.x → 1.14.y) version upgrade
>> > >
>> > > + Flink minor (1.x → 1.y) version upgrade
>> > >
>> > > which I think is important for the native savepoint to be truly
>> > savepoints.
>> > >
>> > > > 3) Should "Job upgrade w/o changing graph shape and record types" be
>> > > split? I guess "record types" is only relevant for unaligned
>> checkpoints.
>> > >
>> > > Shape of the job graph is also an issue with unaligned checkpoints.
>> > > Changing record types/serialisation causes obvious problems with the
>> > > in-flight records, but if you change job graph via for example
>> changing
>> > > type of the network connection (like random -> broadcast, keyed -> non
>> > > keyed), or remove some operators, we also have problems with the
>> > in-flight
>> > > records in the affected connections.
>> > >
>> > > > 4)
>> > >
>> > > I think configuration change should be always supported. If you think
>> > > that's important, I can add this to the documentation/FLIP proposal
>> as a
>> > > separate row.
>> > >
>> > > > 5) Do the guarantees that a Savepoint/Checkpoint provide change when
>> > > > generalized incremental checkpoints [1] are enabled? My
>> understanding
>> > is:
>> > > > No, the same guarantees apply.
>> > >
>> > > This will be more tricky and it will highly depend on the FLIP-158
>> > > implementation.
>> > >
>> > > Yun:
>> > >
>> > > >   1.  From my understanding, native savepoint appears much closer to
>> > > current alignment checkpoint. What's their difference?
>> > >
>> > > Technically there would be no difference, but we might decide to limit
>> > what
>> > > we officially support, to allow us easier changes in the future. Just
>> as
>> > > for the most part so far between savepoint and checkpoints there was
>> very
>> > > little difference. For us, as developers, the fewer things we
>> officially
>> > > support and claim are stable, the better.
>> > >
>> > > > 2.  If self-contained and relocatable are the most important
>> > difference,
>> > > why not include them in the proposal table?
>> > >
>> > > Good point. I will add this.
>> > >
>> > > >  What does "Job full upgrade" means?
>> > >
>> > > I have clarified it to:
>> > > > Arbitrary job upgrade (changed graph shape/record types)
>> > >
>> > > It's an arbitrary job change. Anything that doesn't fall into the
>> second
>> > > category "Job upgrade w/o changing graph shape and record types"
>> > >
>> > > Best,
>> > > Piotrek
>> > >
>> > > pon., 17 sty 2022 o 11:25 Yun Tang <myas...@live.com> napisał(a):
>> > >
>> > > > Hi everyone,
>> > > >
>> > > > Thanks for Piotr to drive this topic.
>> > > >
>> > > > I have several questions on this FLIP.
>> > > >
>> > > >   1.  From my understanding, native savepoint appears much closer to
>> > > > current alignment checkpoint. What's their difference?
>> > > >   2.  If self-contained and relocatable are the most important
>> > > difference,
>> > > > why not include them in the proposal table?
>> > > >
>> > > >   1.  What does "Job full upgrade" means?
>> > > >
>> > > > For the question of RocksDB upgrading, this depends on the backwards
>> > > > compatibility [1], and it proves to be very well as the
>> documentation
>> > > said.
>> > > >
>> > > >
>> > > > [1]
>> > > >
>> > >
>> >
>> https://github.com/facebook/rocksdb/wiki/RocksDB-Compatibility-Between-Different-Releases
>> > > >
>> > > > Best,
>> > > > Yun Tang
>> > > >
>> > > >
>> > > >
>> > > > ________________________________
>> > > > From: Konstantin Knauf <konstan...@ververica.com>
>> > > > Sent: Friday, January 14, 2022 20:39
>> > > > To: dev <dev@flink.apache.org>; Seth Wiesman <s...@ververica.com>;
>> > Nico
>> > > > Kruber <n...@ververica.com>; dander...@apache.org <
>> > dander...@apache.org>
>> > > > Subject: Re: [DISCUSS] FLIP-203: Incremental savepoints
>> > > >
>> > > > Hi everyone,
>> > > >
>> > > > Thank you, Piotr. Please find my thoughts on the topic below:
>> > > >
>> > > > 0) What exactly does the "State Processor API" row mean? Is it: Can
>> it
>> > be
>> > > > read by the State Processor API? Can it be written by the State
>> > Processor
>> > > > API? Both? Something else?
>> > > >
>> > > > 1) If we take the assumption from FLIP-193 "that ownership should be
>> > the
>> > > > only difference between Checkpoints and Savepoints.", we would need
>> to
>> > > work
>> > > > in the direction of "Proposal 2". The distinction would then be the
>> > > > following:
>> > > >
>> > > > * Canonical Savepoint = Guarantees A
>> > > > * Canonical Checkpoint = Guarantees A (in theory; does not exist)
>> > > > * Aligned, Native Checkpoint = Guarantees B
>> > > > * Aligned, Native Savepoint = Guarantees B
>> > > > * Unaligned, Native Checkpoint = Guarantees C
>> > > > * Unaligned, Native Savepoint = Guarantees C (if this would exist in
>> > the
>> > > > future)
>> > > >
>> > > > I think it is important to make this matrix not too complicated
>> like:
>> > > there
>> > > > are 8 different sets of guarantees depending on all kinds of more or
>> > less
>> > > > well-known configuration options.
>> > > >
>> > > > 2) With respect to the concrete guarantees, I believe, it's
>> important
>> > > that
>> > > > we can cover all important use cases in "green", so that users can
>> rely
>> > > on
>> > > > official, tested behavior in regular operations. In my experience
>> this
>> > > > includes manual recovery of a Job from a retained checkpoint. I
>> would
>> > > argue
>> > > > that most users operating a long-running, stateful Apache Flink
>> > > application
>> > > > have been in the situation, where a graceful "stop" was not possible
>> > > > anymore, because the Job was unable to take a Savepoint. This could
>> be,
>> > > > because the Job is frequently restarting (e.g. poison pill) or
>> because
>> > it
>> > > > fails on taking the Savepoint itself for some reason (e.g. unable to
>> > > commit
>> > > > a transaction to an external system). The solution strategy in this
>> > > > scenario is to cancel the job, make some changes to the Job or
>> > > > configuration that fix the problem and restore from the last
>> successful
>> > > > (retained) checkpoint. I think the following changes would need to
>> be
>> > > > officially supported for Native Checkpoints/Savepoint (Guarantees B,
>> > > > ideally also Guarantees C), in order to fix a Job in most of these
>> > cases.
>> > > >
>> > > > * rescaling
>> > > > * Job upgrade w/o changing graph shape and record types
>> > > > * Flink bug/patch (1.14.x → 1.14.y) version upgrade
>> > > >
>> > > > I would be very interested to hear from users as well as people like
>> > > Seth,
>> > > > Nico or David (cc), who work with many users, what  in their
>> experience
>> > > > would be needed here.
>> > > >
>> > > > 3) Should "Job upgrade w/o changing graph shape and record types" be
>> > > split?
>> > > > I guess "record types" is only relevant for unaligned checkpoints.
>> > > >
>> > > > 4) Does it make sense to consider Flink configuration changes
>> besides
>> > the
>> > > > statebackend type as another row? Maybe split by "pipeline.*"
>> options,
>> > > > "execution.*" options, and whichever other categories would make
>> sense.
>> > > > Just to give a few examples: it should be *officially* supported to
>> > take
>> > > a
>> > > > native retained checkpoint and restart a the Job with a
>> > > > pipeline.auto-watermark-interval and different high-availability
>> > > > configurations
>> > > >
>> > > > 5) Do the guarantees that a Savepoint/Checkpoint provide change when
>> > > > generalized incremental checkpoints [1] are enabled? My
>> understanding
>> > is:
>> > > > No, the same guarantees apply.
>> > > >
>> > > > Cheers and thank you,
>> > > >
>> > > > Konstantin
>> > > >
>> > > > [1]
>> > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-158%3A+Generalized+incremental+checkpoints?src=contextnavpagetreemode
>> > > >
>> > > > On Fri, Jan 14, 2022 at 11:24 AM David Anderson <
>> dander...@apache.org>
>> > > > wrote:
>> > > >
>> > > > > > I have a very similar question to State Processor API. Is it the
>> > same
>> > > > > scenario in this case?
>> > > > > > Should it also be working with checkpoints but might be just
>> > > untested?
>> > > > >
>> > > > > I have used the State Processor API with aligned, full
>> checkpoints.
>> > > There
>> > > > > it has worked just fine.
>> > > > >
>> > > > > David
>> > > > >
>> > > > > On Thu, Jan 13, 2022 at 12:40 PM Piotr Nowojski <
>> > pnowoj...@apache.org>
>> > > > > wrote:
>> > > > >
>> > > > > > Hi,
>> > > > > >
>> > > > > > Thanks for the comments and questions. Starting from the top:
>> > > > > >
>> > > > > > Seth: good point about schema evolution. Actually, I have a very
>> > > > similar
>> > > > > > question to State Processor API. Is it the same scenario in this
>> > > case?
>> > > > > > Should it also be working with checkpoints but might be just
>> > > untested?
>> > > > > >
>> > > > > > And next question, should we commit to supporting those two
>> things
>> > > > (State
>> > > > > > Processor API and schema evolution) for native savepoints? What
>> > about
>> > > > > > aligned checkpoints? (please check [1] for that).
>> > > > > >
>> > > > > > Yu Li: 1, 2 and 4 done.
>> > > > > >
>> > > > > > > 3. How about changing the description of "the default
>> > configuration
>> > > > of
>> > > > > > the
>> > > > > > > checkpoints will be used to determine whether the savepoint
>> > should
>> > > be
>> > > > > > > incremental or not" to something like "the
>> > > > `state.backend.incremental`
>> > > > > > > setting now denotes the type of native format snapshot and
>> will
>> > > take
>> > > > > > effect
>> > > > > > > for both checkpoint and savepoint (with native type)", to
>> prevent
>> > > > > concept
>> > > > > > > confusion between checkpoint and savepoint?
>> > > > > >
>> > > > > > Is `state.backend.incremental` the only configuration parameter
>> > that
>> > > > can
>> > > > > be
>> > > > > > used in this context? I would guess not? What about for example
>> > > > > > "state.storage.fs.memory-threshold" or all of the Advanced
>> RocksDB
>> > > > State
>> > > > > > Backends Options [2]?
>> > > > > >
>> > > > > > David:
>> > > > > >
>> > > > > > > does this mean that we need to keep the checkpoints compatible
>> > > across
>> > > > > > minor
>> > > > > > > versions? Or can we say, that the minor version upgrades are
>> only
>> > > > > > > guaranteed with canonical savepoints?
>> > > > > >
>> > > > > > Good question. Frankly I was always assuming that this is
>> > implicitly
>> > > > > given.
>> > > > > > Otherwise users would not be able to recover jobs that are
>> failing
>> > > > > because
>> > > > > > of bugs in Flink. But I'm pretty sure that was never explicitly
>> > > stated.
>> > > > > >
>> > > > > > As Konstantin suggested, I've written down the pre-existing
>> > > guarantees
>> > > > of
>> > > > > > checkpoints and savepoints followed by two proposals on how they
>> > > should
>> > > > > be
>> > > > > > changed [1]. Could you take a look?
>> > > > > >
>> > > > > > I'm especially unsure about the following things:
>> > > > > > a) What about RocksDB upgrades? If we bump RocksDB version
>> between
>> > > > Flink
>> > > > > > versions, do we support recovering from a native format snapshot
>> > > > > > (incremental checkpoint)?
>> > > > > > b) State Processor API - both pre-existing and what do we want
>> to
>> > > > provide
>> > > > > > in the future
>> > > > > > c) Schema Evolution - both pre-existing and what do we want to
>> > > provide
>> > > > in
>> > > > > > the future
>> > > > > >
>> > > > > > Best,
>> > > > > > Piotrek
>> > > > > >
>> > > > > > [1]
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-203%3A+Incremental+savepoints#FLIP203:Incrementalsavepoints-Checkpointvssavepointguarantees
>> > > > > > [2]
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/#advanced-rocksdb-state-backends-options
>> > > > > >
>> > > > > > wt., 11 sty 2022 o 09:45 Konstantin Knauf <kna...@apache.org>
>> > > > > napisał(a):
>> > > > > >
>> > > > > > > Hi Piotr,
>> > > > > > >
>> > > > > > > would it be possible to provide a table that shows the
>> > > > > > > compatibility guarantees provided by the different snapshots
>> > going
>> > > > > > forward?
>> > > > > > > Like type of change (Topology. State Schema, Parallelism, ..)
>> in
>> > > one
>> > > > > > > dimension, and type of snapshot as the other dimension. Based
>> on
>> > > > that,
>> > > > > it
>> > > > > > > would be easier to discuss those guarantees, I believe.
>> > > > > > >
>> > > > > > > Cheers,
>> > > > > > >
>> > > > > > > Konstantin
>> > > > > > >
>> > > > > > > On Mon, Jan 3, 2022 at 9:11 AM David Morávek <d...@apache.org
>> >
>> > > > wrote:
>> > > > > > >
>> > > > > > > > Hi Piotr,
>> > > > > > > >
>> > > > > > > > does this mean that we need to keep the checkpoints
>> compatible
>> > > > across
>> > > > > > > minor
>> > > > > > > > versions? Or can we say, that the minor version upgrades are
>> > only
>> > > > > > > > guaranteed with canonical savepoints?
>> > > > > > > >
>> > > > > > > > My concern is especially if we'd want to change layout of
>> the
>> > > > > > checkpoint.
>> > > > > > > >
>> > > > > > > > D.
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > On Wed, Dec 29, 2021 at 5:19 AM Yu Li <car...@gmail.com>
>> > wrote:
>> > > > > > > >
>> > > > > > > > > Thanks for the proposal Piotr! Overall I'm +1 for the
>> idea,
>> > and
>> > > > > below
>> > > > > > > are
>> > > > > > > > > my two cents:
>> > > > > > > > >
>> > > > > > > > > 1. How about adding a "Term Definition" section and
>> clarify
>> > > what
>> > > > > > > "native
>> > > > > > > > > format" (the "native" data persistence format of the
>> current
>> > > > state
>> > > > > > > > backend)
>> > > > > > > > > and "canonical format" (the "uniform" format that supports
>> > > > > switching
>> > > > > > > > state
>> > > > > > > > > backends) means?
>> > > > > > > > >
>> > > > > > > > > 2. IIUC, currently the FLIP proposes to only support
>> > > incremental
>> > > > > > > > savepoint
>> > > > > > > > > with native format, and there's no plan to add such
>> support
>> > for
>> > > > > > > canonical
>> > > > > > > > > format, right? If so, how about writing this down
>> explicitly
>> > in
>> > > > the
>> > > > > > > FLIP
>> > > > > > > > > doc, maybe in a "Limitations" section, plus the fact that
>> > > > > > > > > `HashMapStateBackend` cannot support incremental savepoint
>> > > before
>> > > > > > > > FLIP-151
>> > > > > > > > > is done? (side note: @Roman just a kindly reminder, that
>> > please
>> > > > > take
>> > > > > > > > > FLIP-203 into account when implementing FLIP-151)
>> > > > > > > > >
>> > > > > > > > > 3. How about changing the description of "the default
>> > > > configuration
>> > > > > > of
>> > > > > > > > the
>> > > > > > > > > checkpoints will be used to determine whether the
>> savepoint
>> > > > should
>> > > > > be
>> > > > > > > > > incremental or not" to something like "the
>> > > > > > `state.backend.incremental`
>> > > > > > > > > setting now denotes the type of native format snapshot and
>> > will
>> > > > > take
>> > > > > > > > effect
>> > > > > > > > > for both checkpoint and savepoint (with native type)", to
>> > > prevent
>> > > > > > > concept
>> > > > > > > > > confusion between checkpoint and savepoint?
>> > > > > > > > >
>> > > > > > > > > 4. How about putting the notes of behavior change (the
>> > default
>> > > > type
>> > > > > > of
>> > > > > > > > > savepoint will be changed to `native` in the future, and
>> by
>> > > then
>> > > > > the
>> > > > > > > > taken
>> > > > > > > > > savepoint cannot be used to switch state backends by
>> default)
>> > > to
>> > > > a
>> > > > > > more
>> > > > > > > > > obvious place, for example moving from the "CLI" section
>> to
>> > the
>> > > > > > > > > "Compatibility" section? (although it will only happen in
>> > 1.16
>> > > > > > release
>> > > > > > > > > based on the proposed plan)
>> > > > > > > > >
>> > > > > > > > > And all above suggestions apply for our user-facing
>> document
>> > > > after
>> > > > > > the
>> > > > > > > > FLIP
>> > > > > > > > > is (partially or completely, accordingly) done, if taken
>> > > (smile).
>> > > > > > > > >
>> > > > > > > > > Best Regards,
>> > > > > > > > > Yu
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > On Tue, 21 Dec 2021 at 22:23, Seth Wiesman <
>> > > sjwies...@gmail.com>
>> > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > > > >> AFAIK state schema evolution should work both for
>> native
>> > > and
>> > > > > > > > canonical
>> > > > > > > > > > >> savepoints.
>> > > > > > > > > >
>> > > > > > > > > > Schema evolution does technically work for both
>> formats, it
>> > > > > happens
>> > > > > > > > after
>> > > > > > > > > > the code paths have been unified, but the community has
>> up
>> > > > until
>> > > > > > this
>> > > > > > > > > point
>> > > > > > > > > > considered that an unsupported feature. From my
>> perspective
>> > > > > making
>> > > > > > > this
>> > > > > > > > > > supported could be as simple as adding test coverage but
>> > > that's
>> > > > > an
>> > > > > > > > active
>> > > > > > > > > > decision we'd need to make.
>> > > > > > > > > >
>> > > > > > > > > > On Tue, Dec 21, 2021 at 7:43 AM Piotr Nowojski <
>> > > > > > pnowoj...@apache.org
>> > > > > > > >
>> > > > > > > > > > wrote:
>> > > > > > > > > >
>> > > > > > > > > > > Hi Konstantin,
>> > > > > > > > > > >
>> > > > > > > > > > > > In this context: will the native format support
>> state
>> > > > schema
>> > > > > > > > > evolution?
>> > > > > > > > > > > If
>> > > > > > > > > > > > not, I am not sure, we can let the format default to
>> > > > native.
>> > > > > > > > > > >
>> > > > > > > > > > > AFAIK state schema evolution should work both for
>> native
>> > > and
>> > > > > > > > canonical
>> > > > > > > > > > > savepoints.
>> > > > > > > > > > >
>> > > > > > > > > > > Regarding what is/will be supported we will document
>> as
>> > > part
>> > > > of
>> > > > > > > this
>> > > > > > > > > > > FLIP-203. But it's not as simple as just the
>> difference
>> > > > between
>> > > > > > > > native
>> > > > > > > > > > and
>> > > > > > > > > > > canonical formats.
>> > > > > > > > > > >
>> > > > > > > > > > > Best, Piotrek
>> > > > > > > > > > >
>> > > > > > > > > > > pon., 20 gru 2021 o 14:28 Konstantin Knauf <
>> > > > kna...@apache.org>
>> > > > > > > > > > napisał(a):
>> > > > > > > > > > >
>> > > > > > > > > > > > Hi Piotr,
>> > > > > > > > > > > >
>> > > > > > > > > > > > Thanks a lot for starting the discussion. Big +1.
>> > > > > > > > > > > >
>> > > > > > > > > > > > In my understanding, this FLIP introduces the
>> snapshot
>> > > > format
>> > > > > > as
>> > > > > > > a
>> > > > > > > > > > > *really*
>> > > > > > > > > > > > user facing concept. IMO it is important that we
>> > document
>> > > > > > > > > > > >
>> > > > > > > > > > > > a) that it is not longer the checkpoint/savepoint
>> > > > > > characteristics
>> > > > > > > > > that
>> > > > > > > > > > > > determines the kind of changes that a snapshots
>> allows
>> > > > (user
>> > > > > > > code,
>> > > > > > > > > > state
>> > > > > > > > > > > > schema evolution, topology changes), but now this
>> > > becomes a
>> > > > > > > > property
>> > > > > > > > > of
>> > > > > > > > > > > the
>> > > > > > > > > > > > format regardless of whether this is a snapshots or
>> a
>> > > > > > checkpoint
>> > > > > > > > > > > > b) the exact changes that each format allows (code,
>> > state
>> > > > > > schema,
>> > > > > > > > > > > topology,
>> > > > > > > > > > > > state backend, max parallelism)
>> > > > > > > > > > > >
>> > > > > > > > > > > > In this context: will the native format support
>> state
>> > > > schema
>> > > > > > > > > evolution?
>> > > > > > > > > > > If
>> > > > > > > > > > > > not, I am not sure, we can let the format default to
>> > > > native.
>> > > > > > > > > > > >
>> > > > > > > > > > > > Thanks,
>> > > > > > > > > > > >
>> > > > > > > > > > > > Konstantin
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > > On Mon, Dec 20, 2021 at 2:09 PM Piotr Nowojski <
>> > > > > > > > pnowoj...@apache.org
>> > > > > > > > > >
>> > > > > > > > > > > > wrote:
>> > > > > > > > > > > >
>> > > > > > > > > > > > > Hi devs,
>> > > > > > > > > > > > >
>> > > > > > > > > > > > > I would like to start a discussion about a
>> previously
>> > > > > > announced
>> > > > > > > > > > follow
>> > > > > > > > > > > up
>> > > > > > > > > > > > > of the FLIP-193 [1], namely allowing savepoints
>> to be
>> > > in
>> > > > > > native
>> > > > > > > > > > format
>> > > > > > > > > > > > and
>> > > > > > > > > > > > > incremental. The changes do not seem invasive. The
>> > full
>> > > > > > > proposal
>> > > > > > > > is
>> > > > > > > > > > > > > written down as FLIP-203: Incremental savepoints
>> [2].
>> > > > > Please
>> > > > > > > > take a
>> > > > > > > > > > > look,
>> > > > > > > > > > > > > and let me know what you think.
>> > > > > > > > > > > > >
>> > > > > > > > > > > > > Best,
>> > > > > > > > > > > > > Piotrek
>> > > > > > > > > > > > >
>> > > > > > > > > > > > > [1]
>> > > > > > > > > > > > >
>> > > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-193%3A+Snapshots+ownership
>> > > > > > > > > > > > > [2]
>> > > > > > > > > > > > >
>> > > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-203%3A+Incremental+savepoints#FLIP203:Incrementalsavepoints-Semantic
>> > > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > > --
>> > > > > > > > > > > >
>> > > > > > > > > > > > Konstantin Knauf
>> > > > > > > > > > > >
>> > > > > > > > > > > > https://twitter.com/snntrable
>> > > > > > > > > > > >
>> > > > > > > > > > > > https://github.com/knaufk
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > --
>> > > > > > >
>> > > > > > > Konstantin Knauf
>> > > > > > >
>> > > > > > > https://twitter.com/snntrable
>> > > > > > >
>> > > > > > > https://github.com/knaufk
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > > >
>> > > > --
>> > > >
>> > > > Konstantin Knauf | Head of Product
>> > > >
>> > > > +49 160 91394525
>> > > >
>> > > >
>> > > > Follow us @VervericaData Ververica <https://www.ververica.com/>
>> > > >
>> > > >
>> > > > --
>> > > >
>> > > > Join Flink Forward <https://flink-forward.org/> - The Apache Flink
>> > > > Conference
>> > > >
>> > > > Stream Processing | Event Driven | Real Time
>> > > >
>> > > > --
>> > > >
>> > > > Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>> > > >
>> > > > --
>> > > > Ververica GmbH
>> > > > Registered at Amtsgericht Charlottenburg: HRB 158244 B
>> > > > Managing Directors: Karl Anton Wehner, Holger Temme, Yip Park Tung
>> > Jason,
>> > > > Jinwei (Kevin) Zhang
>> > > >
>> > >
>> >
>>
>

Reply via email to