Hi everyone,

Thanks a lot for all your input. I hope that I could answer most of the
questions. I would now start a vote on this FLIP.

Cheers,
Till

On Tue, Dec 7, 2021 at 3:05 PM Till Rohrmann <trohrm...@apache.org> wrote:

> Hi Timo,
>
> 1) I haven't fully thought where to put it but I guess that flink-core
> might be a good place for the FlinkVersion. We should then also unify any
> other enums if possible.
>
> 2) I think it makes sense to also review our deprecation process. I think
> it makes a lot of sense to add since when something is deprecated and
> establish a process for removing it (e.g. after one release and if not then
> state why). For the sake of brevity of this FLIP, I would move this
> discussion to a follow-up FLIP, though.
>
> Cheers,
> Till
>
> On Mon, Dec 6, 2021 at 11:35 AM Timo Walther <twal...@apache.org> wrote:
>
>> Hi Till,
>>
>> thanks for starting this discussion. I think this topic should have been
>> discussed way earlier. I have two questions:
>>
>> 1) It might be an implementation detail but where do you expect this
>> `FlinkVersion` to be located? This is actually a quite important class
>> that also needs to be made available for other use cases. For the SQL
>> upgrade story we will definitely need a similar enum. And I think we
>> have something similar for other tests (see `MigrationVersion`). For
>> reducing releasing overhead, it would be good to unify all these
>> "version metadata".
>>
>> 2) Deprecations: Shall we also start versioning deprecation decisions?
>> Esp. for Experimental/PublicEvolving interfaces we should remove
>> deprecated code in time. We should also let users know when we are
>> planning to remove code. E.g. clearly indicate that the deprecation will
>> happen in the next major version?
>>
>> Regards,
>> Timo
>>
>> On 06.12.21 10:04, Till Rohrmann wrote:
>> > Ok, then lets increase the graduation period to 2 releases. If we see
>> that
>> > this is super easy for us to do, then we can shorten it in the future.
>> >
>> > Cheers,
>> > Till
>> >
>> > On Mon, Dec 6, 2021 at 9:54 AM Chesnay Schepler <ches...@apache.org>
>> wrote:
>> >
>> >> Given that you can delay the graduation if there is a good reason for
>> >> it, we should be able to cover that case even if the graduation would
>> >> happen by default after 1 month.
>> >>
>> >> That said, personally I would also be in favor of 2 releases; we see
>> >> plenty of users not upgrading to every single Flink version, and this
>> >> may  give us a bit more coverage.
>> >>
>> >> On 06/12/2021 09:20, Ingo Bürk wrote:
>> >>> Hi Till,
>> >>>
>> >>> from my (admittedly limited) experience with how far projects lag
>> behind
>> >> in
>> >>> terms of Flink versions – yes, the combined time it would take to
>> mature
>> >>> then seems reasonable enough for a sufficient adoption, IMO.
>> >>>
>> >>> Another reason why I think two releases as a default for the last step
>> >>> makes sense: say you mature an API to PublicEvolving. Typically, there
>> >> will
>> >>> be issues found afterwards. Even if you address these in the very next
>> >>> release cycle, a duration of one release would mean you fully mature
>> the
>> >>> API in the same release in which things are still being fixed;
>> >> intuitively,
>> >>> it makes sense to me that the step to Public would come after a
>> period of
>> >>> no changes needed, however.
>> >>>
>> >>>
>> >>> Ingo
>> >>>
>> >>> On Fri, Dec 3, 2021 at 4:55 PM Till Rohrmann <trohrm...@apache.org>
>> >> wrote:
>> >>>
>> >>>> Hi Ingo, thanks for your feedback.
>> >>>>
>> >>>> Do you think that two release cycles per graduation step would be
>> long
>> >>>> enough or should it be longer?
>> >>>>
>> >>>> Cheers,
>> >>>> Till
>> >>>>
>> >>>> On Fri, Dec 3, 2021 at 4:29 PM Ingo Bürk <i...@ververica.com> wrote:
>> >>>>
>> >>>>> Hi Till,
>> >>>>>
>> >>>>> Overall I whole-heartedly agree with the proposals in this FLIP.
>> Thank
>> >>>> you
>> >>>>> for starting this discussion as well! This seems like something that
>> >>>> could
>> >>>>> be tested quite nicely with ArchUnit as well; I'll be happy to help
>> >>>> should
>> >>>>> the FLIP be accepted.
>> >>>>>
>> >>>>>> I would propose per default a single release.
>> >>>>> The step from PublicEvolving to Public feels more important to me,
>> and
>> >> I
>> >>>>> would personally suggest making this transition a bit longer. We
>> have a
>> >>>> bit
>> >>>>> of a chicken-egg problem here, because the goal of your FLIP is,
>> >>>>> ultimately, also to motivate faster adoption of new Flink versions,
>> but
>> >>>> the
>> >>>>> status quo prevents that; if we mature APIs too quickly, we risk
>> losing
>> >>>> out
>> >>>>> on important feedback. Therefore, I would propose starting slower
>> here,
>> >>>> and
>> >>>>> rather think about shortening that cycle in the future.
>> >>>>>
>> >>>>>
>> >>>>> Best
>> >>>>> Ingo
>> >>>>>
>> >>>>> On Thu, Dec 2, 2021 at 3:57 PM Till Rohrmann <trohrm...@apache.org>
>> >>>> wrote:
>> >>>>>> Hi everyone,
>> >>>>>>
>> >>>>>> As promised, here is the follow-up FLIP [1] for discussing how we
>> can
>> >>>>>> ensure that newly introduced APIs are being stabilized over time.
>> This
>> >>>>> FLIP
>> >>>>>> is related to FLIP-196 [2].
>> >>>>>>
>> >>>>>> The idea of FLIP-197 is to introduce an API graduation process that
>> >>>>> forces
>> >>>>>> us to increase the API stability guarantee unless there is a very
>> good
>> >>>>>> reason not to do so. So the proposal is to reverse the process from
>> >>>>> opt-in
>> >>>>>> (increasing the stability guarantee explicitly) to opt-out
>> (deciding
>> >>>> that
>> >>>>>> an API cannot be graduated with a good reason).
>> >>>>>>
>> >>>>>> Since every process breaks if it is not automated, we propose a
>> richer
>> >>>>> set
>> >>>>>> of API stability annotations that can capture enough information so
>> >>>> that
>> >>>>> we
>> >>>>>> can implement a test that fails if we fail to follow the process.
>> >>>>>>
>> >>>>>> Looking forward to your feedback.
>> >>>>>>
>> >>>>>> Hopefully, we can provide our users a better experience when
>> working
>> >>>> with
>> >>>>>> Flink because we offer more stable APIs and make them available
>> >> faster.
>> >>>>>>
>> >>>>>> [1] https://cwiki.apache.org/confluence/x/J5eqCw
>> >>>>>> [2] https://cwiki.apache.org/confluence/x/IJeqCw
>> >>>>>>
>> >>>>>> Cheers,
>> >>>>>> Till
>> >>>>>>
>> >>
>> >>
>> >
>>
>>

Reply via email to