Hi,

I would actually prefer option 6 (or 5/4), for the sake of configuration
being explicit and self explanatory. But at the same time I don't have very
hard preferences and from the remaining options, option 3 seems the most
reasonable.

The question would be, do we want to expose to the users that
ChangeLogStateBackend is wrapping an inner state backend or not? If not,
option 3 is the best. If we do, if we want to teach the users and help them
build the understanding of how things are working underneath, option 5 or 6
are better.

Best,
Piotrek

śr., 2 cze 2021 o 04:36 Yun Tang <myas...@live.com> napisał(a):

> Hi Yuan, thanks for launching this discussion.
>
> I prefer option-3 as this is the easiest to understand for users.
>
>
> Best
> Yun Tang
> ________________________________
> From: Roman Khachatryan <ro...@apache.org>
> Sent: Monday, May 31, 2021 16:53
> To: dev <dev@flink.apache.org>
> Subject: Re: [DISCUSS][Statebackend][Runtime] Changelog Statebackend
> Configuration Proposal
>
> Hey Yuan, thanks for the proposal
>
> I think Option 3 is the simplest to use and exposes less details than any
> other.
> It's also consistent with the current way of configuring state
> backends, as long as we treat change logging as a common feature
> applicable to any state backend, like e.g.
> state.backend.local-recovery.
>
> Option 6 seems slightly less preferable as it exposes more details but
> I think is the most viable alternative.
>
> Regards,
> Roman
>
>
> On Mon, May 31, 2021 at 8:39 AM Yuan Mei <yuanmei.w...@gmail.com> wrote:
> >
> > Hey all,
> >
> > We would like to start a discussion on how to enable/config Changelog
> > Statebakcend.
> >
> > As part of FLIP-158[1], Changelog state backend wraps on top of existing
> > state backend (HashMapStateBackend, EmbeddedRocksDBStateBackend and may
> > expect more) and delegates state changes to the underlying state
> backends.
> > This thread is to discuss the problem of how Changelog StateBackend
> should
> > be enabled and configured.
> >
> > Proposed options to enable/config state changelog is listed below:
> >
> > Option 1: Enable Changelog Statebackend through a Boolean Flag
> >
> > Option 2: Enable Changelog Statebackend through a Boolean Flag + a
> Special
> > Case
> >
> > Option 3: Enable Changelog Statebackend through a Boolean Flag + W/O
> > ChangelogStateBackend Exposed
> >
> > Option 4: Explicit Nested Configuration + “changelog.inner” prefix for
> > inner backend
> >
> > Option 5: Explicit Nested Configuration + inner state backend
> configuration
> > unchanged
> >
> > Option 6: Config Changelog and Inner Statebackend All-Together
> >
> > Details of each option can be found here:
> >
> https://docs.google.com/document/d/13AaCf5fczYTDHZ4G1mgYL685FqbnoEhgo0cdwuJlZmw/edit?usp=sharing
> >
> > When considering these options, please consider these four dimensions:
> > 1 Consistency
> > API/config should follow a consistent model and should not have
> > contradicted logic beneath
> > 2 Simplicity
> > API should be easy to use and not introduce too much burden on users
> > 3. Explicity
> > API/config should not contain implicit assumptions and should be
> intuitive
> > to users
> > 4. Extensibility
> > With foreseen future, whether the current setting can be easily extended
> >
> > Please let us know what do you think and please keep the discussion in
> this
> > mailing thread.
> >
> > [1]
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-158%3A+Generalized+incremental+checkpoints
> >
> > Best
> > Yuan
>

Reply via email to