The question is if we want to tie the release cycle of 2.x to how much time
we give our users to migrate. And "time" is a critical word here. I can see
us
potentially wanting to iterate on the 2.x line more rapidly, because of all
of the
major changes, until the cycles get settled to a typical cadence again.

This means that user's won't know how much time they would have to actually
migrate off of 1.x. And I can see this knowledge being critical for
companies'
quarterly/yearly plannings, so transparency here is key.

That's why I think it makes sense to deviate from the typical N minor
releases
rule and set an explicit time period. We usually have a minor release every
four
months, so my proposition would be to designate a 1.5 years period as
a generous approximation of a 4 releases cycle.

I also agree with limiting support to bugfixes - Flink is at the level of
maturity where
I believe nothing so critical will be  missing in the last 1.x release that
we'd need to
backport if from 2.x. In the end, we want to encourage users to migrate.

@Mathias, I am not quite sure about the 3 versions description. Are you
concerned that 1.x and 2.x LTS releases could overlap, if 3.0 comes early?

Best,
Alex

On Wed, 26 Jul 2023 at 14:47, Matthias Pohl <matthias.p...@aiven.io.invalid>
wrote:

> I think making the last minor release before a major release an LTS release
> with extended support makes sense. I cannot think of a reason against the
> four minor release cycles suggested by Marton. Only providing bug fixes and
> not allowing features to be backported sounds reasonable to keep the
> maintenance costs low.
>
> And maybe we can make this a general convention for last minor releases for
> > all major releases, rather than only discuss it for the 2.0 version bump.
>
>
> I guess we should also make it explicit that we only support one LTS
> version to reduce the number of supported versions to 3 (x.y, x.[y-1],
> [x-1].z). I have the impression that this is implied by everyone. I wanted
> to mention this as an additional item, anyway. ...even though it would only
> become a topic when discussing 3.0.
>
> Matthias
>
> On Tue, Jul 25, 2023 at 6:33 PM Jing Ge <j...@ververica.com.invalid>
> wrote:
>
> > Hi Konstantin,
> >
> > I might have not made myself clear enough, apologies. The
> > source-/sink-function was used as a concrete example to discuss the
> pattern
> > before we decided to offer LTS. The intention was not to hijack this
> thread
> > to discuss how to deprecate them.
> >
> > We all wish that the only thing users need to migrate from Flink 1.x to
> 2.0
> > is some code changes in their repos and we all wish users will migrate,
> if
> > LTS has long enough support time. But the question I tried to discuss is
> > not the wish but the "How?". We might be able to toss the high migration
> > effort aside(we shouldn't), since it is theoretically still doable if
> users
> > have long enough time, even if the effort is extremely high. Another
> > concern is that if "function regressions" is allowed in 2.0, i.e. if 2.0
> > has a lack of functionalities or bugs compared to 1.x, there will be no
> way
> > for users to do the migration regardless of whether we encourage them to
> > migrate or they haven been given enough time(how long is enough?) because
> > LTS has been offered. How could we help users and avoid this happening?
> >
> > Best regards,
> > Jing
> >
> > On Tue, Jul 25, 2023 at 6:57 PM Konstantin Knauf <kna...@apache.org>
> > wrote:
> >
> > > Hi Jing,
> > >
> > > let's not overindex on the Source-/SinkFunction discussion in this
> > thread.
> > >
> > > We will generally drop/break a lot of APIs in Flink 2.0. So, naturally
> > > users will need to make more changes to their code in order to migrate
> > from
> > > 1.x to Flink 2.0. In order to give them more time to do this, we
> support
> > > the last Flink 1.x release for a longer time with bug fix releases.
> > >
> > > Of course, we still encourage users to migrate to Flink 2.0, because at
> > > some point, we will stop support Flink 1.x. For example, if we followed
> > > Marton's proposal we would support Flink 1.x LTS for about 2 years
> > (roughly
> > > 4 minor release cycles) instead of about 1 year (2 minor release
> cycles)
> > > for regular minor releases. This seems like a reasonable timeframe to
> me.
> > > It also gives us more time to discover and address blockers in
> migrating
> > to
> > > Flink 2.x that we are not aware of right now.
> > >
> > > Best,
> > >
> > > Konstantin
> > >
> > > Am Di., 25. Juli 2023 um 12:48 Uhr schrieb Jing Ge
> > > <j...@ververica.com.invalid>:
> > >
> > > > Hi all,
> > > >
> > > > Overall, it is a good idea to provide the LTS release, but I'd like
> to
> > > > reference a concrete case as an example to understand what
> restrictions
> > > the
> > > > LTS should have.
> > > >
> > > > Hypothetically, Source-/Sink- Function have been deprecated in 1.x
> LTS
> > > and
> > > > removed in 2.0 and the issues[1] are not solved in 2.0. This is a
> > typical
> > > > scenario that the old APIs are widely used in 1.x LTS and the new
> APIs
> > in
> > > > 2.0 are not ready yet to take over all users. We will have the
> > following
> > > > questions:
> > > >
> > > > 1. Is this scenario allowed at all? Do we all agree that there could
> be
> > > > some features/functionalities that only work in 1.x LTS after 2.0 has
> > > been
> > > > released?
> > > > 2. How long are we going to support 1.x LTS? 1 year? 2 years? As long
> > as
> > > > the issues that block users from migrating to 2.0 are not solved, we
> > > can't
> > > > stop the LTS support, even if the predefined support time expires.
> > > > 3. What is the intention to release a new version with (or without)
> > LTS?
> > > Do
> > > > we still want to engage users to migrate to the new release asap? If
> > the
> > > > old APIs 1.x LTS offer more than the new APIs in 2.0 or it is almost
> > > > impossible to migrate, double effort will be required to maintain
> those
> > > > major releases for a very long time. We will be facing many cohorts.
> > > >
> > > > IMHO, we should be clear with those questions before we start talking
> > > about
> > > > LTS. WDYT?
> > > >
> > > > Best regards,
> > > > Jing
> > > >
> > > >
> > > > [1] https://lists.apache.org/thread/734zhkvs59w2o4d1rsnozr1bfqlr6rgm
> > > >
> > > > On Tue, Jul 25, 2023 at 6:08 PM Márton Balassi <
> > balassi.mar...@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Hi team,
> > > > >
> > > > > +1 for supporting the last 1.x for a longer than usual period of
> time
> > > and
> > > > > limiting it to bugfixes. I would suggest supporting it for double
> the
> > > > usual
> > > > > amount of time (4 minor releases).
> > > > >
> > > > > On Tue, Jul 25, 2023 at 9:25 AM Konstantin Knauf <
> kna...@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Hi Alex,
> > > > > >
> > > > > > yes, I think, it makes sense to support the last 1.x release
> longer
> > > > than
> > > > > > usual. This should be limited to bugfixes in my opinion.
> > > > > >
> > > > > > Best,
> > > > > >
> > > > > > Konstantin
> > > > > >
> > > > > > Am Di., 25. Juli 2023 um 07:07 Uhr schrieb Xintong Song <
> > > > > > tonysong...@gmail.com>:
> > > > > >
> > > > > > > Hi Alex,
> > > > > > >
> > > > > > > Providing a longer supporting period for the last 1.x minor
> > release
> > > > > makes
> > > > > > > sense to me.
> > > > > > >
> > > > > > > I think we need to be more specific about what LTS means here.
> > > > > > >
> > > > > > >    - IIUC, that means for the last 1.x minor release, we will
> > keep
> > > > > > >    providing 1.x.y / 1.x.z bugfix release. This is a stronger
> > > support
> > > > > > > compared
> > > > > > >    to regular minor releases which by default are only
> supported
> > > for
> > > > 2
> > > > > > > minor
> > > > > > >    release cycles.
> > > > > > >    - Do we only provide bug fixes for the LTS release, or do we
> > > also
> > > > > > allow
> > > > > > >    backporting features to that release?
> > > > > > >    - How long exactly shall we support the LTS release?
> > > > > > >
> > > > > > > And maybe we can make this a general convention for last minor
> > > > releases
> > > > > > for
> > > > > > > all major releases, rather than only discuss it for the 2.0
> > version
> > > > > bump.
> > > > > > >
> > > > > > > @Leonard,
> > > > > > >
> > > > > > > I'd like to clarify that there are no community decisions yet
> on
> > > > > release
> > > > > > > 2.0 after 1.19. It is possible to have 1.20 before 2.0.
> > > > > > >
> > > > > > > Best,
> > > > > > >
> > > > > > > Xintong
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On Tue, Jul 25, 2023 at 11:54 AM Leonard Xu <xbjt...@gmail.com
> >
> > > > wrote:
> > > > > > >
> > > > > > > > +1, it’s pretty necessary especially we deprecated so many
> APIs
> > > in
> > > > > 1.18
> > > > > > > > and plan to remove in 2.0.
> > > > > > > >
> > > > > > > > The 1.19 should be a proper version for LTS Release.
> > > > > > > >
> > > > > > > > Best,
> > > > > > > > Leonard
> > > > > > > >
> > > > > > > >
> > > > > > > > > On Jul 25, 2023, at 3:30 AM, Alexander Fedulov <
> > > > > > > > alexander.fedu...@gmail.com> wrote:
> > > > > > > > >
> > > > > > > > > Hello everyone,
> > > > > > > > >
> > > > > > > > > Recently, there were a lot of discussions about the
> > deprecation
> > > > of
> > > > > > > > various
> > > > > > > > > APIs for the upcoming 2.0 release. It appears there are two
> > > main
> > > > > > > > motivations
> > > > > > > > > with opposing directions, causing these discussions to
> remain
> > > > > > > unsettled.
> > > > > > > > On
> > > > > > > > > one hand, there's a desire to finally trim a wide range of
> > > legacy
> > > > > > APIs,
> > > > > > > > some
> > > > > > > > > lingering around since the beginning of the 1.x release
> line
> > > (as
> > > > > far
> > > > > > > > back as
> > > > > > > > > 2016). On the other hand, there is a commitment to uphold
> our
> > > > > > > guarantees
> > > > > > > > to
> > > > > > > > > the users, ensuring a smooth transition.
> > > > > > > > >
> > > > > > > > > I believe we could reconcile these two motivations. My
> > > > proposition
> > > > > is
> > > > > > > to
> > > > > > > > > designate the final release of the 1.x timeline as a
> > Long-Term
> > > > > > Support
> > > > > > > > (LTS)
> > > > > > > > > release. By doing so, we would:
> > > > > > > > >
> > > > > > > > > 1. Enable more efficient cleanup and be liberated to
> > introduce
> > > > more
> > > > > > > > breaking
> > > > > > > > >   changes, paving the way for greater innovation in the 2.0
> > > > > release.
> > > > > > > > > 2. Sustain a positive user experience by granting enough
> time
> > > for
> > > > > the
> > > > > > > > > changes
> > > > > > > > >   introduced in 2.0 to stabilize, allowing users to
> > confidently
> > > > > > > > transition
> > > > > > > > >   their production code to the new release.
> > > > > > > > >
> > > > > > > > > I look forward to hearing your thoughts on this proposal.
> > > > > > > > >
> > > > > > > > > Best Regards,
> > > > > > > > > Alex
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > https://twitter.com/snntrable
> > > > > > https://github.com/knaufk
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > https://twitter.com/snntrable
> > > https://github.com/knaufk
> > >
> >
>

Reply via email to