Hi Jing, > How could we help users and avoid this happening?
I don't think we will be able to avoid this in all cases. And I think that's ok. Its always a trade-off between supporting new use cases and moving the project forward and backwards compatibility (in a broad sense). For example, we dropped Mesos support in a minor release in the past. If you're only option for running Flink was Mesos, you were stuck on Flink 1.13 or so. So, I think, it is in the end a case-by-case decision. How big is the cost of continued support a "legacy feature/system" and how many users are affected to which degree by dropping it? Best, Konstantin Am Di., 25. Juli 2023 um 18:34 Uhr schrieb Jing Ge <j...@ververica.com.invalid>: > 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 > > > -- https://twitter.com/snntrable https://github.com/knaufk